mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-01 22:12:26 +01:00
@@ -190,13 +190,21 @@ export default class TypeScriptCompletionItemProvider implements CompletionItemP
|
||||
}
|
||||
|
||||
if (context.triggerCharacter === '/') {
|
||||
// make sure we are in something that looks line an import path
|
||||
// make sure we are in something that looks like an import path
|
||||
const line = document.lineAt(position.line).text.slice(0, position.character);
|
||||
if (!line.match(/^import .+? from\s*["'][^'"]*$/) && !line.match(/\b(import|require)\(['"][^'"]*$/)) {
|
||||
return Promise.resolve<CompletionItem[]>([]);
|
||||
}
|
||||
}
|
||||
|
||||
if (context.triggerCharacter === '@') {
|
||||
// make sure we are in something that looks like the start of a jsdoc comment
|
||||
const line = document.lineAt(position.line).text.slice(0, position.character);
|
||||
if (!line.match(/^\s*\*[ ]?@/) && !line.match(/\/\*\*+[ ]?@/)) {
|
||||
return Promise.resolve<CompletionItem[]>([]);
|
||||
}
|
||||
}
|
||||
|
||||
const args: CompletionsRequestArgs = vsPositionToTsFileLocation(file, position);
|
||||
return this.client.execute('completions', args, token).then((msg) => {
|
||||
// This info has to come from the tsserver. See https://github.com/Microsoft/TypeScript/issues/2831
|
||||
|
||||
@@ -242,7 +242,7 @@ class LanguageProvider {
|
||||
const completionItemProvider = new (await import('./features/completionItemProvider')).default(client, this.typingsStatus);
|
||||
completionItemProvider.updateConfiguration();
|
||||
this.toUpdateOnConfigurationChanged.push(completionItemProvider);
|
||||
this.disposables.push(languages.registerCompletionItemProvider(selector, completionItemProvider, '.', '"', '\'', '/'));
|
||||
this.disposables.push(languages.registerCompletionItemProvider(selector, completionItemProvider, '.', '"', '\'', '/', '@'));
|
||||
|
||||
this.disposables.push(languages.registerCompletionItemProvider(selector, new (await import('./features/directiveCommentCompletionProvider')).default(client), '@'));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user