@chemzqm/neovim
Version:
NodeJS client API for vim9 and neovim
33 lines (32 loc) • 1.45 kB
TypeScript
import Transport from '../transport/base';
import { VimValue } from '../types';
import { NeovimClient } from './client';
export interface BaseConstructorOptions {
data?: number;
client?: any;
}
export declare class BaseApi {
protected prefix: string;
data: number | undefined;
protected client: NeovimClient;
constructor({ data, client, }: BaseConstructorOptions);
protected get transport(): Transport;
equals(other: BaseApi): boolean;
request(name: string, args?: any[], skipConvert?: boolean, skipErrorLog?: boolean): Promise<any>;
protected getArgsByPrefix(args: any[]): any[];
/** Retrieves a scoped variable depending on type (using `this.prefix`) */
getVar(name: string): Promise<VimValue>;
/** Set a scoped variable */
setVar(name: string, value: VimValue, isNotify: true): void;
setVar(name: string, value: VimValue, isNotify?: false): Promise<void>;
/** Delete a scoped variable */
deleteVar(name: string): 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;
/** `request` is basically the same except you can choose to wait forpromise to be resolved */
notify(name: string, args?: any[], skipConvert?: boolean): void;
toJSON(): number;
}