Fixes #130973: Accepting suggestions or inline suggestion now triggers an inline suggestion session.
This commit is contained in:
parent
58b670c6ff
commit
23fa383f8b
6
src/vs/editor/contrib/inlineCompletions/consts.ts
Normal file
6
src/vs/editor/contrib/inlineCompletions/consts.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export const inlineSuggestCommitId = 'editor.action.inlineSuggest.commit';
|
|
@ -16,6 +16,7 @@ import { ContextKeyExpr, IContextKeyService, RawContextKey } from 'vs/platform/c
|
|||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { GhostTextModel } from 'vs/editor/contrib/inlineCompletions/ghostTextModel';
|
||||
import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { inlineSuggestCommitId } from 'vs/editor/contrib/inlineCompletions/consts';
|
||||
|
||||
export class GhostTextController extends Disposable {
|
||||
public static readonly inlineSuggestionVisible = new RawContextKey<boolean>('inlineSuggestionVisible', false, nls.localize('inlineSuggestionVisible', "Whether an inline suggestion is visible"));
|
||||
|
@ -168,7 +169,7 @@ export class ActiveGhostTextController extends Disposable {
|
|||
const GhostTextCommand = EditorCommand.bindToContribution(GhostTextController.get);
|
||||
|
||||
export const commitInlineSuggestionAction = new GhostTextCommand({
|
||||
id: 'editor.action.inlineSuggest.commit',
|
||||
id: inlineSuggestCommitId,
|
||||
precondition: GhostTextController.inlineSuggestionVisible,
|
||||
handler(x) {
|
||||
x.commit();
|
||||
|
|
|
@ -5,22 +5,23 @@
|
|||
|
||||
import { CancelablePromise, createCancelablePromise, RunOnceScheduler } from 'vs/base/common/async';
|
||||
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||
import { IDiffChange, LcsDiff } from 'vs/base/common/diff/diff';
|
||||
import { onUnexpectedError, onUnexpectedExternalError } from 'vs/base/common/errors';
|
||||
import { Emitter } from 'vs/base/common/event';
|
||||
import { Disposable, IDisposable, MutableDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { CoreEditingCommands } from 'vs/editor/browser/controller/coreCommands';
|
||||
import { IActiveCodeEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { RedoCommand, UndoCommand } from 'vs/editor/browser/editorExtensions';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { EditOperation } from 'vs/editor/common/core/editOperation';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { ITextModel } from 'vs/editor/common/model';
|
||||
import { InlineCompletion, InlineCompletionContext, InlineCompletions, InlineCompletionsProvider, InlineCompletionsProviderRegistry, InlineCompletionTriggerKind } from 'vs/editor/common/modes';
|
||||
import { EditOperation } from 'vs/editor/common/core/editOperation';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { RedoCommand, UndoCommand } from 'vs/editor/browser/editorExtensions';
|
||||
import { CoreEditingCommands } from 'vs/editor/browser/controller/coreCommands';
|
||||
import { IDiffChange, LcsDiff } from 'vs/base/common/diff/diff';
|
||||
import { GhostTextWidgetModel, GhostText, BaseGhostTextWidgetModel, GhostTextPart } from 'vs/editor/contrib/inlineCompletions/ghostText';
|
||||
import { inlineSuggestCommitId } from './consts';
|
||||
import { BaseGhostTextWidgetModel, GhostText, GhostTextPart, GhostTextWidgetModel } from './ghostText';
|
||||
|
||||
export class InlineCompletionsModel extends Disposable implements GhostTextWidgetModel {
|
||||
protected readonly onDidChangeEmitter = new Emitter<void>();
|
||||
|
@ -44,7 +45,9 @@ export class InlineCompletionsModel extends Disposable implements GhostTextWidge
|
|||
RedoCommand.id,
|
||||
CoreEditingCommands.Tab.id,
|
||||
CoreEditingCommands.DeleteLeft.id,
|
||||
CoreEditingCommands.DeleteRight.id
|
||||
CoreEditingCommands.DeleteRight.id,
|
||||
inlineSuggestCommitId,
|
||||
'acceptSelectedSuggestion'
|
||||
]);
|
||||
if (commands.has(e.commandId) && editor.hasTextFocus()) {
|
||||
this.handleUserInput();
|
||||
|
|
Loading…
Reference in a new issue