coc.nvim
Version:
LSP based intellisense engine for neovim & vim8.
62 lines (61 loc) • 1.88 kB
TypeScript
import { Neovim } from '@chemzqm/neovim';
import { Disposable } from 'vscode-languageserver-protocol';
import Document from '../model/document';
import { CompleteConfig, CompleteOption, PopupChangeEvent } from '../types';
import Complete from './complete';
export interface LastInsert {
character: string;
timestamp: number;
}
export declare class Completion implements Disposable {
config: CompleteConfig;
private document;
private floating;
private currItem;
private activted;
private input;
private lastInsert?;
private nvim;
private disposables;
private complete;
private recentScores;
private resolveTokenSource;
private changedTick;
private insertCharTs;
private insertLeaveTs;
private isResolving;
init(nvim: Neovim): void;
readonly option: CompleteOption;
private addRecent;
private getPreviousContent;
getResumeInput(pre: string): string;
private readonly bufnr;
readonly isActivted: boolean;
private getCompleteConfig;
startCompletion(option: CompleteOption): Promise<void>;
private resumeCompletion;
hasSelected(): boolean;
private showCompletion;
private _doComplete;
private onTextChangedP;
private onTextChangedI;
private triggerCompletion;
private fixCompleteOption;
private onCompleteDone;
private onInsertLeave;
private onInsertEnter;
private onInsertCharPre;
private readonly latestInsert;
private readonly latestInsertChar;
shouldTrigger(document: Document, pre: string): Promise<boolean>;
onPumChange(ev: PopupChangeEvent): Promise<void>;
start(complete: Complete): void;
private cancel;
stop(): void;
private getInput;
private readonly completeOpt;
private getCompleteItem;
dispose(): void;
}
declare const _default: Completion;
export default _default;