UNPKG

coc.nvim

Version:

LSP based intellisense engine for neovim & vim8.

69 lines (68 loc) 2.31 kB
import { Neovim, Window } from '@chemzqm/neovim'; import { Event } from 'vscode-languageserver-protocol'; import { ListHighlights, ListItem } from '../types'; import ListConfiguration from './configuration'; export declare type MouseEvent = 'mouseDown' | 'mouseDrag' | 'mouseUp' | 'doubleClick'; export interface MousePosition { winid: number; lnum: number; col: number; current: boolean; } export default class ListUI { private nvim; private config; window: Window; private height; private newTab; private _bufnr; private currIndex; private highlights; private items; private disposables; private signOffset; private selected; private mouseDown; private creating; private _onDidChangeLine; private _onDidOpen; private _onDidClose; private _onDidChange; private _onDidLineChange; private _onDoubleClick; readonly onDidChangeLine: Event<number>; readonly onDidLineChange: Event<number>; readonly onDidOpen: Event<number>; readonly onDidClose: Event<number>; readonly onDidChange: Event<void>; readonly onDidDoubleClick: Event<void>; constructor(nvim: Neovim, config: ListConfiguration); index: number; getItem(delta: number): ListItem; readonly item: Promise<ListItem>; echoMessage(item: ListItem): Promise<void>; updateItem(item: ListItem, index: number): Promise<void>; getItems(): Promise<ListItem[]>; onMouse(event: MouseEvent): Promise<void>; reset(): void; hide(): void; resume(name: string, position: string): Promise<void>; toggleSelection(): Promise<void>; selectLines(start: number, end: number): Promise<void>; selectAll(): Promise<void>; clearSelection(): void; readonly shown: boolean; readonly bufnr: number; readonly ready: Promise<void>; drawItems(items: ListItem[], name: string, position?: string, reload?: boolean): Promise<void>; appendItems(items: ListItem[]): Promise<void>; private setLines; restoreWindow(): void; dispose(): void; readonly length: number; readonly selectedItems: ListItem[]; private doHighlight; setCursor(lnum: number, col: number): void; addHighlights(highlights: ListHighlights[], append?: boolean): void; private getSelectedRange; }