@chemzqm/neovim
Version:
NodeJS client API for vim9 and neovim
26 lines (25 loc) • 934 B
TypeScript
import * as msgpack from '@chemzqm/msgpack-lite';
import { ILogger } from '../utils/logger';
import Transport, { Response } from './base';
export declare class NvimTransport extends Transport {
private pending;
private nextRequestId;
private encodeStream;
private decodeStream;
private reader;
private writer;
protected codec: msgpack.Codec;
private attached;
private client;
constructor(logger: ILogger);
private parseMessage;
private setupCodec;
attach(writer: NodeJS.WritableStream, reader: NodeJS.ReadableStream, client: any): void;
detach(): void;
request(method: string, args: any[], cb: Function): any;
notify(method: string, args: any[]): void;
send(arr: any[]): void;
vimCommand(command: any, ..._args: any[]): void;
vimRequest(command: any, _args: any[]): Promise<any>;
protected createResponse(_method: string, requestId: number): Response;
}