coc.nvim
Version:
LSP based intellisense engine for neovim & vim8.
45 lines (44 loc) • 1.17 kB
TypeScript
import { Neovim } from '@chemzqm/neovim';
import { TaskOptions } from '../types';
import { Disposable, Event } from 'vscode-languageserver-protocol';
/**
* Controls long running task started by vim.
* Useful to keep the task running after CocRestart.
*
* @public
*/
export default class Task implements Disposable {
private nvim;
private id;
private disposables;
private readonly _onExit;
private readonly _onStderr;
private readonly _onStdout;
readonly onExit: Event<number>;
readonly onStdout: Event<string[]>;
readonly onStderr: Event<string[]>;
/**
* @param {Neovim} nvim
* @param {string} id unique id
*/
constructor(nvim: Neovim, id: string);
/**
* Start task, task will be restarted when already running.
*
* @param {TaskOptions} opts
* @returns {Promise<boolean>}
*/
start(opts: TaskOptions): Promise<boolean>;
/**
* Stop task by SIGTERM or SIGKILL
*/
stop(): Promise<void>;
/**
* Check if the task is running.
*/
readonly running: Promise<boolean>;
/**
* Stop task and dispose all events.
*/
dispose(): void;
}