diff --git a/src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/ICSharpCodeCoreResourceResolver.cs b/src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/ICSharpCodeCoreResourceResolver.cs index 934592f34d..5bf1717125 100644 --- a/src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/ICSharpCodeCoreResourceResolver.cs +++ b/src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/ICSharpCodeCoreResourceResolver.cs @@ -102,11 +102,13 @@ namespace Hornung.ResourceToolkit.Resolver } // Find $ character to the left of the caret. - caretOffset += 1; - char ch; - do { + char ch = document.GetCharAt(caretOffset); + if (ch == '}' && caretOffset > 0) { ch = document.GetCharAt(--caretOffset); - } while (!Char.IsWhiteSpace(ch) && ch != '$' && caretOffset > 0); + } + while (!Char.IsWhiteSpace(ch) && ch != '$' && ch != '}' && caretOffset > 0) { + ch = document.GetCharAt(--caretOffset); + } if (caretOffset + 6 >= document.TextLength || document.GetText(caretOffset, 6) != ResourceReferenceToken) { return null; diff --git a/src/AddIns/Misc/ResourceToolkit/Test/CSharp/ICSharpCodeCoreResourceResolverTests.cs b/src/AddIns/Misc/ResourceToolkit/Test/CSharp/ICSharpCodeCoreResourceResolverTests.cs index 9945c3ca45..519768ae38 100644 --- a/src/AddIns/Misc/ResourceToolkit/Test/CSharp/ICSharpCodeCoreResourceResolverTests.cs +++ b/src/AddIns/Misc/ResourceToolkit/Test/CSharp/ICSharpCodeCoreResourceResolverTests.cs @@ -52,6 +52,13 @@ namespace ResourceToolkit.Tests.CSharp TestHelper.CheckReference(rrr, "[ICSharpCodeCoreHostResourceSet]", "TestKey", null, null); } + [Test] + public void AfterKey() + { + ResourceResolveResult rrr = Resolve(CodeResourceAccess, 2, 24, null); + TestHelper.CheckNoReference(rrr); + } + [Test] public void NoCompletionWrongChar() {