restore inline suggestion (#203418)

* restore inline suggestion

fixes https://github.com/microsoft/vscode/issues/175190

* fix leak in test
This commit is contained in:
Johannes Rieken 2024-01-25 10:33:42 +01:00 committed by GitHub
parent b10846f1e5
commit 589d37d2e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 5 deletions

View file

@ -6,7 +6,7 @@
import { CancellationToken } from 'vs/base/common/cancellation';
import { FuzzyScore } from 'vs/base/common/filters';
import { Iterable } from 'vs/base/common/iterator';
import { RefCountedDisposable } from 'vs/base/common/lifecycle';
import { Disposable, RefCountedDisposable } from 'vs/base/common/lifecycle';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
import { EditorOption } from 'vs/editor/common/config/editorOptions';
@ -104,7 +104,7 @@ class InlineCompletionResults extends RefCountedDisposable implements InlineComp
}
export class SuggestInlineCompletions implements InlineCompletionsProvider<InlineCompletionResults> {
export class SuggestInlineCompletions extends Disposable implements InlineCompletionsProvider<InlineCompletionResults> {
private _lastResult?: InlineCompletionResults;
@ -113,7 +113,10 @@ export class SuggestInlineCompletions implements InlineCompletionsProvider<Inlin
@IClipboardService private readonly _clipboardService: IClipboardService,
@ISuggestMemoryService private readonly _suggestMemoryService: ISuggestMemoryService,
@ICodeEditorService private readonly _editorService: ICodeEditorService,
) { }
) {
super();
this._store.add(_languageFeatureService.inlineCompletionsProvider.register('*', this));
}
async provideInlineCompletions(model: ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): Promise<InlineCompletionResults | undefined> {

View file

@ -76,7 +76,7 @@ suite('Suggest Inline Completions', function () {
test('Aggressive inline completions when typing within line #146948', async function () {
const completions: SuggestInlineCompletions = insta.createInstance(SuggestInlineCompletions);
const completions: SuggestInlineCompletions = disposables.add(insta.createInstance(SuggestInlineCompletions));
{
// (1,3), end of word -> suggestions
@ -92,7 +92,7 @@ suite('Suggest Inline Completions', function () {
});
test('Snippets show in inline suggestions even though they are turned off #175190', async function () {
const completions: SuggestInlineCompletions = insta.createInstance(SuggestInlineCompletions);
const completions: SuggestInlineCompletions = disposables.add(insta.createInstance(SuggestInlineCompletions));
{
// unfiltered