UNPKG

@chemzqm/neovim

Version:

NodeJS client API for vim9 and neovim

33 lines (32 loc) 1.45 kB
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; }