UNPKG

coc.nvim

Version:

LSP based intellisense engine for neovim & vim8.

42 lines (41 loc) 2.01 kB
import { Neovim } from '@chemzqm/neovim'; import { CancellationToken, Disposable, Location } from 'vscode-languageserver-protocol'; import { ProviderResult } from '../provider'; import { IList, ListAction, ListContext, ListItem, ListTask, LocationWithLine, WorkspaceConfiguration, ListArgument, PreiewOptions } from '../types'; import ListConfiguration from './configuration'; interface ActionOptions { persist?: boolean; reload?: boolean; parallel?: boolean; } export default abstract class BasicList implements IList, Disposable { protected nvim: Neovim; name: string; defaultAction: string; readonly actions: ListAction[]; options: ListArgument[]; protected disposables: Disposable[]; private optionMap; config: ListConfiguration; constructor(nvim: Neovim); protected readonly hlGroup: string; protected readonly previewHeight: number; protected readonly splitRight: boolean; parseArguments(args: string[]): { [key: string]: string | boolean; }; protected getConfig(): WorkspaceConfiguration; protected addAction(name: string, fn: (item: ListItem, context: ListContext) => ProviderResult<void>, options?: ActionOptions): void; protected addMultipleAction(name: string, fn: (item: ListItem[], context: ListContext) => ProviderResult<void>, options?: ActionOptions): void; addLocationActions(): void; convertLocation(location: Location | LocationWithLine | string): Promise<Location>; jumpTo(location: Location | LocationWithLine | string, command?: string): Promise<void>; private createAction; protected previewLocation(location: Location, context: ListContext): Promise<void>; preview(options: PreiewOptions, context: ListContext): Promise<void>; protected getPreviewCommand(context: ListContext): string; abstract loadItems(context: ListContext, token?: CancellationToken): Promise<ListItem[] | ListTask | null | undefined>; doHighlight(): void; dispose(): void; } export {};