Skip to content

Commit 9d2f309

Browse files
committed
add ISuggestion#noWhitespaceAdjust to internal suggest api, microsoft#57093
1 parent 35b36b7 commit 9d2f309

2 files changed

Lines changed: 28 additions & 26 deletions

File tree

src/vs/editor/common/modes.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@
44
*--------------------------------------------------------------------------------------------*/
55
'use strict';
66

7+
import { CancellationToken } from 'vs/base/common/cancellation';
8+
import { Color } from 'vs/base/common/color';
9+
import { Event } from 'vs/base/common/event';
710
import { IMarkdownString } from 'vs/base/common/htmlContent';
811
import { IDisposable } from 'vs/base/common/lifecycle';
12+
import { isObject } from 'vs/base/common/types';
913
import URI from 'vs/base/common/uri';
14+
import { Position } from 'vs/editor/common/core/position';
15+
import { IRange, Range } from 'vs/editor/common/core/range';
16+
import { Selection } from 'vs/editor/common/core/selection';
1017
import { TokenizationResult, TokenizationResult2 } from 'vs/editor/common/core/token';
18+
import * as model from 'vs/editor/common/model';
1119
import LanguageFeatureRegistry from 'vs/editor/common/modes/languageFeatureRegistry';
12-
import { CancellationToken } from 'vs/base/common/cancellation';
13-
import { Position } from 'vs/editor/common/core/position';
14-
import { Range, IRange } from 'vs/editor/common/core/range';
15-
import { Event } from 'vs/base/common/event';
1620
import { TokenizationRegistryImpl } from 'vs/editor/common/modes/tokenizationRegistry';
17-
import { Color } from 'vs/base/common/color';
1821
import { IMarkerData } from 'vs/platform/markers/common/markers';
19-
import * as model from 'vs/editor/common/model';
20-
import { isObject } from 'vs/base/common/types';
21-
import { Selection } from 'vs/editor/common/core/selection';
2222

2323
/**
2424
* Open ended enum at runtime
@@ -301,6 +301,7 @@ export interface ISuggestion {
301301
additionalTextEdits?: model.ISingleEditOperation[];
302302
command?: Command;
303303
snippetType?: SnippetType;
304+
noWhitespaceAdjust?: boolean;
304305
}
305306

306307
/**

src/vs/editor/contrib/suggest/suggestController.ts

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,30 @@
44
*--------------------------------------------------------------------------------------------*/
55
'use strict';
66

7-
import * as nls from 'vs/nls';
8-
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
9-
import { onUnexpectedError } from 'vs/base/common/errors';
7+
import { alert } from 'vs/base/browser/ui/aria/aria';
108
import { isFalsyOrEmpty } from 'vs/base/common/arrays';
11-
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
12-
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
13-
import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
14-
import { ICommandService } from 'vs/platform/commands/common/commands';
15-
import { IEditorContribution, ScrollType } from 'vs/editor/common/editorCommon';
16-
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
17-
import { registerEditorAction, registerEditorContribution, ServicesAccessor, EditorAction, EditorCommand, registerEditorCommand } from 'vs/editor/browser/editorExtensions';
9+
import { onUnexpectedError } from 'vs/base/common/errors';
10+
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
11+
import { dispose, IDisposable } from 'vs/base/common/lifecycle';
1812
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
19-
import { alert } from 'vs/base/browser/ui/aria/aria';
13+
import { EditorAction, EditorCommand, registerEditorAction, registerEditorCommand, registerEditorContribution, ServicesAccessor } from 'vs/editor/browser/editorExtensions';
2014
import { EditOperation } from 'vs/editor/common/core/editOperation';
2115
import { Range } from 'vs/editor/common/core/range';
16+
import { IEditorContribution, ScrollType } from 'vs/editor/common/editorCommon';
17+
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
2218
import { ISuggestSupport } from 'vs/editor/common/modes';
23-
import { SnippetParser } from 'vs/editor/contrib/snippet/snippetParser';
2419
import { SnippetController2 } from 'vs/editor/contrib/snippet/snippetController2';
25-
import { Context as SuggestContext } from './suggest';
26-
import { SuggestModel, State } from './suggestModel';
27-
import { ICompletionItem } from './completionModel';
28-
import { SuggestWidget, ISelectedSuggestion } from './suggestWidget';
29-
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
20+
import { SnippetParser } from 'vs/editor/contrib/snippet/snippetParser';
3021
import { SuggestMemories } from 'vs/editor/contrib/suggest/suggestMemory';
22+
import * as nls from 'vs/nls';
23+
import { ICommandService } from 'vs/platform/commands/common/commands';
24+
import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
25+
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
26+
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
27+
import { ICompletionItem } from './completionModel';
28+
import { Context as SuggestContext } from './suggest';
29+
import { State, SuggestModel } from './suggestModel';
30+
import { ISelectedSuggestion, SuggestWidget } from './suggestWidget';
3131

3232
class AcceptOnCharacterOracle {
3333

@@ -223,7 +223,8 @@ export class SuggestController implements IEditorContribution {
223223
insertText,
224224
suggestion.overwriteBefore + columnDelta,
225225
suggestion.overwriteAfter,
226-
false, false
226+
false, false,
227+
!suggestion.noWhitespaceAdjust
227228
);
228229

229230
this._editor.pushUndoStop();

0 commit comments

Comments
 (0)