提交 72004f45 编写于 作者: J Johannes Rieken

fix #30508

上级 0abbe051
......@@ -154,8 +154,8 @@ export class SnippetSuggestProvider implements ISuggestSupport {
overwriteBefore = lowWordUntil.length;
accetSnippet = true;
} else if (lowLineUntil.length > 0) {
// compute overlap between snippet and line on text
} else if (lowLineUntil.length > 0 && lowLineUntil.match(/[^\s]$/)) {
// compute overlap between snippet and (none-empty) line on text
overwriteBefore = overlap(lowLineUntil, snippet.prefix.toLowerCase());
accetSnippet = overwriteBefore > 0 && !model.getWordAtPosition(new Position(position.lineNumber, position.column - overwriteBefore));
}
......
......@@ -90,4 +90,23 @@ suite('SnippetsService', function () {
assert.equal(result.suggestions.length, 0);
model.dispose();
});
test('No user snippets in suggestions, when inside the code, #30508', function () {
snippetService.registerSnippets(modeService.getLanguageIdentifier('fooLang').id, <ISnippet[]>[{
prefix: 'foo',
codeSnippet: '<foo>$0</foo>',
name: '',
description: ''
}], 'fooFile.json');
const provider = new SnippetSuggestProvider(modeService, snippetService);
let model = Model.createFromString('<head>\n\t\n>/head>', undefined, modeService.getLanguageIdentifier('fooLang'));
let result = provider.provideCompletionItems(model, new Position(1, 1));
assert.equal(result.suggestions.length, 1);
result = provider.provideCompletionItems(model, new Position(2, 2));
assert.equal(result.suggestions.length, 1);
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册