@chemzqm/neovim
Version:
NodeJS client API for vim9 and neovim
66 lines (65 loc) • 2.61 kB
TypeScript
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;
}