I'm creating a vscode extension that requires some custom completion for json files. Is it possible to not show the trigger character when using autocompletions.
Here is what I mean :
Let's say the trigger character is '.' In your json file you type '.' which suggests you a list of items that I defined in the code. When i press tab or enter, the normal behavior would be to display .item (item being the selected item when i pressed enter) Is it possible to only have 'item' and remove the trigger character '.' ?
Here is my code so far :
context.subscriptions.push(languages.registerCompletionItemProvider (
{ language: 'json', scheme: 'file' },
// 'json',
{
provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken, context: CompletionContext) {
let myitem = (text:string) => {
let item = new CompletionItem(text, CompletionItemKind.Text);
item.range = new Range(position, position);
return item;
};
const linePrefix = document.lineAt(position).text.substring(0, position.character);
if (linePrefix.match(/name/g)) {
return [
myitem('log'),
myitem('warn'),
myitem('error'),
];
} else {
return undefined;
}
}
},
'?' // trigger
));