UNPKG

@chemzqm/neovim

Version:

NodeJS client API for vim9 and neovim

66 lines (65 loc) 2.61 kB
import { Range, VimValue } from '../types'; import { BaseApi } from './Base'; import { Buffer } from './Buffer'; import { Tabpage } from './Tabpage'; import { FloatOptions } from './types'; export declare class Window extends BaseApi { prefix: string; /** * The windowid that not change within a Vim session */ get id(): number; setBuffer(buffer: Buffer): Promise<void>; /** Retrieves a scoped option depending on type of `this` */ getOption(name: string): Promise<VimValue>; /** Set scoped option */ setOption(name: string, value: VimValue): Promise<void>; setOption(name: string, value: VimValue, isNotify: true): void; /** Get current buffer of window */ get buffer(): Promise<Buffer>; /** Get the Tabpage that contains the window */ get tabpage(): Promise<Tabpage>; /** Get cursor position */ get cursor(): Promise<[number, number]>; /** Set cursor position */ setCursor(pos: [number, number]): Promise<void>; setCursor(pos: [number, number], isNotify: true): null; /** Get window height by number of rows */ get height(): Promise<number>; /** Set window height by number of rows */ setHeight(height: number): Promise<void>; setHeight(height: number, isNotify: true): null; /** Get window width by number of columns */ get width(): Promise<number>; /** Set window width by number of columns */ setWidth(width: number): Promise<void>; setWidth(width: number, isNotify: true): null; /** Get window position */ get position(): Promise<[number, number]>; /** 0-indexed, on-screen window position(row) in display cells. */ get row(): Promise<number>; /** 0-indexed, on-screen window position(col) in display cells. */ get col(): Promise<number>; /** Is window valid */ get valid(): Promise<boolean>; /** Get window number */ get number(): Promise<number>; setConfig(options: FloatOptions): Promise<any>; setConfig(options: FloatOptions, isNotify: true): null; getConfig(): Promise<FloatOptions>; close(force: boolean): Promise<void>; close(force: boolean, isNotify: true): null; /** * Add highlight to ranges by using matchaddpos. */ highlightRanges(hlGroup: string, ranges: Range[], priority?: number): Promise<number[]>; highlightRanges(hlGroup: string, ranges: Range[], priority: number, isNotify: true): null; /** * Clear match by highlight group. */ clearMatchGroup(hlGroup: string): void; /** * Clear match by match ids. */ clearMatches(ids: number[]): void; }