add keepWhitespace-flag to completion item, #62057

This commit is contained in:
Johannes Rieken
2018-11-16 10:59:37 +01:00
parent d7f82c11d6
commit 01d8ba6b8c
6 changed files with 10 additions and 54 deletions

View File

@@ -744,7 +744,6 @@ export function createApiFactory(
CommentThreadCollapsibleState: extHostTypes.CommentThreadCollapsibleState,
CompletionItem: extHostTypes.CompletionItem,
CompletionItemKind: extHostTypes.CompletionItemKind,
CompletionItemInsertTextRule: extension.enableProposedApi ? extHostTypes.CompletionItemInsertTextRule : null,
CompletionList: extHostTypes.CompletionList,
CompletionTriggerKind: extHostTypes.CompletionTriggerKind,
ConfigurationTarget: extHostTypes.ConfigurationTarget,

View File

@@ -685,7 +685,7 @@ class SuggestAdapter {
//
range: undefined,
insertText: undefined,
insertTextRules: typeConvert.CompletionItemInsertTextRule.from(item.insertTextRules),
insertTextRules: item.keepWhitespace ? modes.CompletionItemInsertTextRule.KeepWhitespace : 0,
additionalTextEdits: item.additionalTextEdits && item.additionalTextEdits.map(typeConvert.TextEdit.from),
command: this._commands.toInternal(item.command),
commitCharacters: item.commitCharacters,

View File

@@ -681,25 +681,6 @@ export namespace CompletionItemKind {
}
}
export namespace CompletionItemInsertTextRule {
export function from(rule: types.CompletionItemInsertTextRule): modes.CompletionItemInsertTextRule {
let result = 0;
if ((rule & types.CompletionItemInsertTextRule.KeepWhitespace)) {
result += modes.CompletionItemInsertTextRule.KeepWhitespace;
}
return result;
}
export function to(rule: modes.CompletionItemInsertTextRule): types.CompletionItemInsertTextRule {
let result = 0;
if ((rule & modes.CompletionItemInsertTextRule.KeepWhitespace)) {
result += types.CompletionItemInsertTextRule.KeepWhitespace;
}
return result;
}
}
export namespace CompletionItem {
export function to(suggestion: modes.CompletionItem): types.CompletionItem {
@@ -713,7 +694,7 @@ export namespace CompletionItem {
result.preselect = suggestion.preselect;
result.commitCharacters = suggestion.commitCharacters;
result.range = Range.to(suggestion.range);
result.insertTextRules = CompletionItemInsertTextRule.to(suggestion.insertTextRules);
result.keepWhitespace = Boolean(suggestion.insertTextRules & modes.CompletionItemInsertTextRule.KeepWhitespace);
// 'inserText'-logic
if (suggestion.insertTextRules & modes.CompletionItemInsertTextRule.InsertAsSnippet) {
result.insertText = new types.SnippetString(suggestion.insertText);

View File

@@ -1163,10 +1163,6 @@ export enum CompletionItemKind {
TypeParameter = 24
}
export enum CompletionItemInsertTextRule {
KeepWhitespace = 0b1
}
export class CompletionItem implements vscode.CompletionItem {
label: string;
@@ -1177,7 +1173,7 @@ export class CompletionItem implements vscode.CompletionItem {
filterText: string;
preselect: boolean;
insertText: string | SnippetString;
insertTextRules: CompletionItemInsertTextRule;
keepWhitespace?: boolean;
range: Range;
commitCharacters: string[];
textEdit: TextEdit;