UNPKG

coc.nvim

Version:

LSP based intellisense engine for neovim & vim8.

45 lines (44 loc) 1.47 kB
import { Neovim } from '@chemzqm/neovim'; import { Disposable } from 'vscode-languageserver-protocol'; import { Documentation, Env } from '../types'; export interface WindowConfig { width: number; height: number; col: number; row: number; relative: 'cursor' | 'win' | 'editor'; } export default class FloatFactory implements Disposable { private nvim; private env; private preferTop; private maxHeight; private maxWidth?; private autoHide; private targetBufnr; private window; private disposables; private floatBuffer; private tokenSource; private alignTop; private createTs; private cursor; private popup; constructor(nvim: Neovim, env: Env, preferTop?: boolean, maxHeight?: number, maxWidth?: number, autoHide?: boolean); private onCursorMoved; private checkFloatBuffer; private readonly columns; private readonly lines; getBoundings(docs: Documentation[], offsetX?: number): Promise<WindowConfig>; create(docs: Documentation[], allowSelection?: boolean, offsetX?: number): Promise<void>; createVim(docs: Documentation[], allowSelection?: boolean, offsetX?: number): Promise<void>; createNvim(docs: Documentation[], allowSelection?: boolean, offsetX?: number): Promise<void>; /** * Close float window */ close(): void; private closeWindow; dispose(): void; private readonly buffer; activated(): Promise<boolean>; }