coc.nvim
Version:
LSP based intellisense engine for neovim & vim8.
87 lines (86 loc) • 3.17 kB
TypeScript
import { NeovimClient as Neovim } from '@chemzqm/neovim';
import { CodeActionKind, Definition, DocumentLink, LocationLink, Range, SelectionRange } from 'vscode-languageserver-protocol';
import { Document } from '..';
import { CodeAction } from '../types';
interface SymbolInfo {
filepath?: string;
lnum: number;
col: number;
text: string;
kind: string;
level?: number;
containerName?: string;
range: Range;
selectionRange?: Range;
}
interface CommandItem {
id: string;
title: string;
}
export default class Handler {
private nvim;
private preferences;
private documentHighlighter;
private hoverPosition;
private colors;
private hoverFactory;
private signatureFactory;
private refactor;
private documentLines;
private codeLensManager;
private signatureTokenSource;
private disposables;
private labels;
private selectionRange;
private signaturePosition;
constructor(nvim: Neovim);
getCurrentFunctionSymbol(): Promise<string>;
onHover(): Promise<boolean>;
gotoDefinition(openCommand?: string): Promise<boolean>;
gotoDeclaration(openCommand?: string): Promise<boolean>;
gotoTypeDefinition(openCommand?: string): Promise<boolean>;
gotoImplementation(openCommand?: string): Promise<boolean>;
gotoReferences(openCommand?: string): Promise<boolean>;
getDocumentSymbols(document?: Document): Promise<SymbolInfo[]>;
rename(newName?: string): Promise<boolean>;
documentFormatting(): Promise<boolean>;
documentRangeFormatting(mode: string): Promise<number>;
runCommand(id?: string, ...args: any[]): Promise<any>;
getCodeActions(bufnr: number, range?: Range, only?: CodeActionKind[]): Promise<CodeAction[]>;
doCodeAction(mode: string | null, only?: CodeActionKind[] | string): Promise<void>;
/**
* Get current codeActions
*
* @public
* @returns {Promise<CodeAction[]>}
*/
getCurrentCodeActions(mode?: string, only?: CodeActionKind[]): Promise<CodeAction[]>;
doQuickfix(): Promise<boolean>;
applyCodeAction(action: CodeAction): Promise<void>;
doCodeLensAction(): Promise<void>;
fold(kind?: string): Promise<boolean>;
pickColor(): Promise<void>;
pickPresentation(): Promise<void>;
highlight(): Promise<void>;
links(): Promise<DocumentLink[]>;
openLink(): Promise<boolean>;
getCommands(): Promise<CommandItem[]>;
selectFunction(inner: boolean, visualmode: string): Promise<void>;
private onCharacterType;
private triggerSignatureHelp;
showSignatureHelp(): Promise<boolean>;
handleLocations(definition: Definition | LocationLink[], openCommand?: string | false): Promise<void>;
getSelectionRanges(): Promise<SelectionRange[] | null>;
selectRange(visualmode: string, forward: boolean): Promise<void>;
codeActionRange(start: number, end: number, only: string): Promise<void>;
/**
* Refactor of current symbol
*/
doRefactor(): Promise<void>;
saveRefactor(bufnr: number): Promise<void>;
private previewHover;
private getPreferences;
private onEmptyLocation;
dispose(): void;
}
export {};