From 6f34598269e86853c13ec2a58a3cd2d1c0a0c760 Mon Sep 17 00:00:00 2001 From: Julien Lebosquain Date: Thu, 20 Aug 2015 14:27:40 +0200 Subject: [PATCH] Fixed parameter info sometimes not working. Fixes #43 --- .../GammaJul.ReSharper.EnhancedTooltip.nuspec | 4 +-- .../EnhancedParameterInfoContextFactory.cs | 36 +++---------------- SharedAssemblyInfo.cs | 2 +- 3 files changed, 8 insertions(+), 34 deletions(-) diff --git a/GammaJul.ReSharper.EnhancedTooltip/GammaJul.ReSharper.EnhancedTooltip.nuspec b/GammaJul.ReSharper.EnhancedTooltip/GammaJul.ReSharper.EnhancedTooltip.nuspec index 7125d80..328467f 100644 --- a/GammaJul.ReSharper.EnhancedTooltip/GammaJul.ReSharper.EnhancedTooltip.nuspec +++ b/GammaJul.ReSharper.EnhancedTooltip/GammaJul.ReSharper.EnhancedTooltip.nuspec @@ -3,12 +3,12 @@ JLebosquain.EnhancedTooltip - 2.5.0.13 + 2.5.1.14 Enhanced Tooltip Julien Lebosquain Colorizes the tooltip as well as the parameter information popup. - - [Added] Support for ReSharper 9.2. + - [Fixed] Parameter info colorization sometimes not working. (#43) https://github.com/MrJul/ReSharper.EnhancedTooltip/ https://raw.github.com/MrJul/ReSharper.EnhancedTooltip/master/Logo/Logo128.png diff --git a/GammaJul.ReSharper.EnhancedTooltip/ParameterInfo/EnhancedParameterInfoContextFactory.cs b/GammaJul.ReSharper.EnhancedTooltip/ParameterInfo/EnhancedParameterInfoContextFactory.cs index b485a64..5b99051 100644 --- a/GammaJul.ReSharper.EnhancedTooltip/ParameterInfo/EnhancedParameterInfoContextFactory.cs +++ b/GammaJul.ReSharper.EnhancedTooltip/ParameterInfo/EnhancedParameterInfoContextFactory.cs @@ -1,17 +1,12 @@ -using System.Collections.Generic; -using System.Linq; -using GammaJul.ReSharper.EnhancedTooltip.Presentation; +using GammaJul.ReSharper.EnhancedTooltip.Presentation; using GammaJul.ReSharper.EnhancedTooltip.Settings; using JetBrains.Annotations; using JetBrains.Application.Settings; using JetBrains.DocumentModel; using JetBrains.ProjectModel; +using JetBrains.ReSharper.Feature.Services.CSharp.ParameterInfo; using JetBrains.ReSharper.Feature.Services.ParameterInfo; -using JetBrains.ReSharper.Psi; using JetBrains.ReSharper.Psi.CSharp; -using JetBrains.ReSharper.Resources.Shell; -using JetBrains.Util; -using JetBrains.Util.Lazy; namespace GammaJul.ReSharper.EnhancedTooltip.ParameterInfo { @@ -25,21 +20,16 @@ namespace GammaJul.ReSharper.EnhancedTooltip.ParameterInfo { /// - (overridden by ) /// [ParameterInfoContextFactory(typeof(CSharpLanguage))] - public class EnhancedParameterInfoContextFactory : IParameterInfoContextFactory { + public class EnhancedParameterInfoContextFactory : CSParameterInfoContextFactory, IParameterInfoContextFactory { - [NotNull] [ItemCanBeNull] private readonly Lazy _csParameterInfoContextFactory; - - public bool IsIntellisenseEnabled(ISolution solution, IContextBoundSettingsStore contextBoundSettingsStore) - => _csParameterInfoContextFactory.Value?.IsIntellisenseEnabled(solution, contextBoundSettingsStore) == true; - - public IParameterInfoContext CreateContext(ISolution solution, + public new IParameterInfoContext CreateContext(ISolution solution, IDocument document, int caretOffset, int expectedLParenthOffset, char invocationChar, IContextBoundSettingsStore contextBoundSettingsStore) { - IParameterInfoContext context = _csParameterInfoContextFactory.Value?.CreateContext( + IParameterInfoContext context = base.CreateContext( solution, document, caretOffset, expectedLParenthOffset, invocationChar, contextBoundSettingsStore); return Enhance(context, solution, contextBoundSettingsStore); } @@ -56,22 +46,6 @@ private static IParameterInfoContext Enhance([CanBeNull] IParameterInfoContext c settings); } - public bool ShouldPopup(IDocument document, int caretOffset, char c, ISolution solution, IContextBoundSettingsStore contextBoundSettingsStore) - => _csParameterInfoContextFactory.Value?.ShouldPopup(document, caretOffset, c, solution, contextBoundSettingsStore) == true; - - public PsiLanguageType Language - => CSharpLanguage.Instance; - - public IEnumerable ImportantChars - => _csParameterInfoContextFactory.Value?.ImportantChars ?? EmptyList.InstanceList; - - public EnhancedParameterInfoContextFactory() { - _csParameterInfoContextFactory = - Lazy.Of(() => Shell.Instance.GetComponent() - .GetServices(Language) - .FirstOrDefault(f => f.GetType().Name == "CSParameterInfoContextFactory" /* unfortunately the original factory is internal so we can't use typeof */)); - } - } } \ No newline at end of file diff --git a/SharedAssemblyInfo.cs b/SharedAssemblyInfo.cs index 35db1b9..fbbf2ea 100644 --- a/SharedAssemblyInfo.cs +++ b/SharedAssemblyInfo.cs @@ -7,4 +7,4 @@ [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("2.5.0.0")] \ No newline at end of file +[assembly: AssemblyVersion("2.5.1.0")] \ No newline at end of file