@ydb-platform/monaco-ghost
Version:
Inline completion adapter for Monaco Editor
28 lines • 1.19 kB
TypeScript
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
import { CodeCompletionConfig, EnrichedCompletion, ICodeCompletionAPI, ICodeCompletionService } from '../types';
export interface CompletionGroup {
items: EnrichedCompletion[];
shownCount: number;
requestId: string;
wasAccepted?: boolean;
}
export interface CacheManager {
getCachedCompletion(model: monaco.editor.ITextModel, position: monaco.Position): EnrichedCompletion[];
setCompletionGroup(group: CompletionGroup): void;
emptyCache(): void;
getCompletionGroup(): CompletionGroup | null;
incrementShownCount(pristineText: string): void;
markAsAccepted(pristineText: string): void;
getActiveCompletion(): string | null;
}
export interface SuggestionProvider {
getSuggestions(model: monaco.editor.ITextModel, position: monaco.Position): Promise<{
suggestions: EnrichedCompletion[];
requestId: string;
}>;
}
export interface ServiceConfig extends Required<CodeCompletionConfig> {
api: ICodeCompletionAPI;
}
export type { ICodeCompletionService, CodeCompletionConfig, EnrichedCompletion, ICodeCompletionAPI, };
//# sourceMappingURL=types.d.ts.map