Browse Source

ResourceToolkit: Fixed the ICSharpCodeCoreResourceResolver detecting a resource reference even if the caret is positioned after the closing brace of ${res:...}. Added unit test for this case.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3397 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Christian Hornung 17 years ago
parent
commit
6419433ed1
  1. 10
      src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/ICSharpCodeCoreResourceResolver.cs
  2. 7
      src/AddIns/Misc/ResourceToolkit/Test/CSharp/ICSharpCodeCoreResourceResolverTests.cs

10
src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/ICSharpCodeCoreResourceResolver.cs

@ -102,11 +102,13 @@ namespace Hornung.ResourceToolkit.Resolver @@ -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;

7
src/AddIns/Misc/ResourceToolkit/Test/CSharp/ICSharpCodeCoreResourceResolverTests.cs

@ -52,6 +52,13 @@ namespace ResourceToolkit.Tests.CSharp @@ -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()
{

Loading…
Cancel
Save