From 2c3351df995aa7e22117d2e651df7ab13441aa0f Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 9 Jan 2019 14:18:39 -0800 Subject: [PATCH] Use CharacterSet --- src/vs/editor/contrib/suggest/suggestController.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/vs/editor/contrib/suggest/suggestController.ts b/src/vs/editor/contrib/suggest/suggestController.ts index 7d20441b06a..bccb74f8083 100644 --- a/src/vs/editor/contrib/suggest/suggestController.ts +++ b/src/vs/editor/contrib/suggest/suggestController.ts @@ -31,12 +31,13 @@ import { WordContextKey } from 'vs/editor/contrib/suggest/wordContextKey'; import { Event } from 'vs/base/common/event'; import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService'; import { IdleValue } from 'vs/base/common/async'; +import { CharacterSet } from 'vs/editor/common/core/characterClassifier'; class AcceptOnCharacterOracle { private _disposables: IDisposable[] = []; - private _activeAcceptCharacters = new Set(); + private _activeAcceptCharacters = new CharacterSet(); private _activeItem: ISelectedSuggestion; constructor(editor: ICodeEditor, widget: SuggestWidget, accept: (selected: ISelectedSuggestion) => any) { @@ -47,7 +48,7 @@ class AcceptOnCharacterOracle { this._disposables.push(editor.onWillType(text => { if (this._activeItem) { - const ch = text[text.length - 1]; + const ch = text.charCodeAt(text.length - 1); if (this._activeAcceptCharacters.has(ch) && editor.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter) { accept(this._activeItem); } @@ -61,10 +62,10 @@ class AcceptOnCharacterOracle { return; } this._activeItem = selected; - this._activeAcceptCharacters.clear(); + this._activeAcceptCharacters = new CharacterSet(); for (const ch of selected.item.completion.commitCharacters) { if (ch.length > 0) { - this._activeAcceptCharacters.add(ch[0]); + this._activeAcceptCharacters.add(ch.charCodeAt(0)); } } } -- GitLab