クラス NeovimClient

Neovim API

階層構造 (すべて表示)

コンストラクタ

プロパティ

Buffer: typeof Buffer = Buffer
Tabpage: typeof Tabpage = Tabpage
Window: typeof Window = Window
_isReady: Promise<boolean> = ...
client: any
data?: number | Buffer
logger: Logger
prefix: string = 'nvim_'
requestQueue: any[]
transport: Transport
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean

すべてのエミッターに対するデフォルトの captureRejection 値を設定または取得します。

defaultMaxListeners: number
errorMonitor: typeof errorMonitor

このシンボルは、'error' イベントのみを監視するためのリスナーをインストールするために使用されます。このシンボルを使用してインストールされたリスナーは、通常の 'error' リスナーが呼び出される前に呼び出されます。

このシンボルを使用してリスナーをインストールしても、'error' イベントが発行された後の動作は変更されないため、通常の 'error' リスナーがインストールされていない場合、プロセスはクラッシュします。

アクセサ

  • get apiInfo(): Promise<[number, ApiInfo]>
  • nvim API 情報を取得します

    戻り値: Promise<[number, ApiInfo]>

  • get buffer(): AsyncBuffer
  • 現在のバッファを取得します

    戻り値: AsyncBuffer

    バッファハンドル

  • set buffer(buffer): void
  • 現在のバッファを設定します

    パラメータ

    • buffer: AsyncBuffer

    戻り値: void

  • get buffers(): Promise<Buffer[]>
  • 現在のバッファハンドルの一覧を取得します

    ls! のように、リストにない(アンロード/削除された)バッファも含まれます。バッファがロードされているかどうかを確認するには、buffer.loaded を使用してください

    戻り値: Promise<Buffer[]>

    バッファハンドルの一覧

  • get chans(): Promise<Channel[]>
  • 開いているすべてのチャネルに関する情報を取得します

    戻り値: Promise<Channel[]>

    チャネルの配列

  • get colorMap(): Promise<{
        [name: string]: number;
    }>
  • 定義された色のマップを取得します

    戻り値: Promise<{
        [name: string]: number;
    }>

    カラーマップ

  • get commands(): Promise<Command>
  • バッファローカルの |user-commands| のマップを取得します。

    戻り値: Promise<Command>

  • set dir(dir): void
  • グローバルな作業ディレクトリを変更します

    パラメータ

    • dir: string

      ディレクトリパス

    戻り値: void

  • get line(): string | Promise<string>
  • 現在の行を取得します

    戻り値: string | Promise<string>

    現在の行の文字列

  • set line(line): void
  • 現在の行を設定します

    パラメータ

    • line: string | Promise<string>

      行の内容

    戻り値: void

  • get mode(): Promise<{
        blocking: boolean;
        mode: string;
    }>
  • 現在のモードを取得します。|mode()| の "blocking" は、Nvim が入力を待機している場合に true です。

    戻り値: Promise<{
        blocking: boolean;
        mode: string;
    }>

    モード情報

  • get namespaces(): Promise<{
        [name: string]: number;
    }>
  • getNamespaces() のエイリアス

    戻り値: Promise<{
        [name: string]: number;
    }>

  • get runtimePaths(): Promise<string[]>
  • "runtimepath" に含まれるパスを取得します。

    Promise<string[]> を返します。

    パスのリスト

  • get tabpage(): AsyncTabpage
  • ウィンドウのタブページを取得します

    AsyncTabpage を返します。

    ウィンドウを含むタブページ

  • set tabpage(tabpage): void
  • 現在のタブページを設定します

    パラメータ

    • tabpage: AsyncTabpage

    戻り値: void

  • get uis(): Promise<Ui[]>
  • アタッチされたUIを表す辞書のリストを取得します。

    Promise<Ui[]> を返します。

    UI辞書の配列。各辞書には以下のキーがあります。"height":UIの要求された高さ、"width":UIの要求された幅、"rgb":UIがrgbカラーを使用するかどうか(falseはctermカラーを意味します)、"ext_...":要求されたUI拡張、|ui-options|を参照、"chan":リモートUIのチャネルID(TUIには存在しません)

  • get window(): AsyncWindow
  • 現在のウィンドウを取得します

    AsyncWindow を返します。

    ウィンドウハンドル

  • set window(win): void
  • 現在のウィンドウを設定します

    パラメータ

    • win: AsyncWindow

      ウィンドウハンドル

    戻り値: void

  • get windows(): Promise<Window[]>
  • ウィンドウの現在のハンドルリストを取得します

    Promise<Window[]> を返します。

    ウィンドウハンドルリスト

メソッド

  • emitter.on(eventName, listener) のエイリアス。

    パラメータ

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • パラメータ

          • Rest...args: any[]

          戻り値: void

    this を返します

    v0.1.26

  • msgpackを読み書きストリームにアタッチします *

    パラメータ

    • __namedParameters: {
          reader: ReadableStream;
          writer: WritableStream;
      }
      • reader: ReadableStream
      • writer: WritableStream

    戻り値: void

  • 指定された引数でVimL関数を呼び出します。

    実行エラーが発生した場合: VimLエラーで失敗し、v:errmsgは更新しません。

    パラメータ

    • fname: string
    • args: VimValue | VimValue[] = []

    Promise<any> を返します。

  • 複数のAPIメソッドをアトミックに呼び出します。

    これには主に2つの用途があります。

    • 非同期コンテキストから、複数のリクエストをアトミックに実行するため。つまり、他のクライアントからの再描画、RPCリクエスト、またはユーザーインタラクションをインターリーブすることなく実行できます (ただし、APIメソッドは自動コマンドまたはイベント処理をトリガーする可能性があり、それらには副作用があります。例えば|:sleep|はタイマーを起動する可能性があります)。

    • 多くのリクエストのシーケンスのRPCオーバーヘッド(ラウンドトリップ)を最小限に抑えるため。

    パラメータ

    • calls: VimValue[]

    戻り値: Promise<[any[], boolean]>

  • 指定された引数でVimL |Dictionary-function| を呼び出します。

    実行エラーが発生した場合: VimLエラーで失敗し、v:errmsgは更新しません。

    パラメータ

    • dict: object
    • fname: string
    • args: VimValue | VimValue[] = []

    戻り値: object

  • exコマンドを実行します。

    実行エラーが発生した場合: VimLエラーで失敗し、v:errmsgは更新しません。

    パラメータ

    • arg: string

      exコマンド文字列

    Promise<any> を返します。

  • exコマンドを実行し、(エラーではない)出力を返します。シェル |:!| の出力はキャプチャされません。

    実行エラーが発生した場合: VimLエラーで失敗し、v:errmsgは更新しません。

    パラメータ

    • arg: string

    戻り値: Promise<string>

  • 新しい名前空間を作成するか、既存の名前空間を取得します。

    名前空間は、バッファのハイライトと仮想テキストに使用されます。|nvim_buf_add_highlight()| と |nvim_buf_set_virtual_text()| を参照してください。

    名前空間は、名前付きまたは匿名にできます。name が既存の名前空間と一致する場合、関連付けられたIDが返されます。name が空の文字列の場合、新しい匿名名前空間が作成されます。

    パラメータ

    • name: string = ''

      名前空間名または空の文字列

    戻り値: Promise<number>

    名前空間ID

  • バッファがデタッチされるべき場合はtrueを返します

    パラメータ

    • buffer: Buffer
    • eventName: string
    • cb: Function

    戻り値: boolean

  • eventNameという名前のイベントに登録されたリスナーを、登録された順に同期的に呼び出し、それぞれのリスナーに指定された引数を渡します。

    イベントにリスナーが存在する場合はtrueを返し、それ以外の場合はfalseを返します。

    const EventEmitter = require('events');
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener

    パラメータ

    • eventName: string | symbol
    • Rest...args: any[]

    戻り値: boolean

    v0.1.26

  • VimL式を評価します(:help expression)。辞書とリストは再帰的に展開されます。VimLエラーが発生した場合:一般的なエラーが返されます。v:errmsgは更新されません。

    パラメータ

    • expr: string

    戻り値 Promise<VimValue>

  • エミッターがリスナーを登録しているイベントのリストを配列で返します。配列の値は文字列またはSymbolです。

    const EventEmitter = require('events');
    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]

    戻り値 (string | symbol)[]

    v6.0.0

  • modeフラグによって制御されるさまざまな特性に従って、Nvimに入力キーを送信します。これは|nvim_input()|とは異なり、ブロッキング呼び出しです。

    実行エラーが発生した場合:失敗しませんが、v:errmsgが更新されます。

    パラメータ

    • keys: string

      入力するキー

    • mode: string

      動作フラグ。|feedkeys()|を参照してください。

    • escapeCsi: boolean

      trueの場合、keys内のK_SPECIAL/CSIバイトをエスケープします

    Promise<any> を返します。

  • バッファローカルの |user-commands| のマップを取得します。

    パラメータ

    • options: {} = {}

      オプションのパラメータ(現在は未使用)

      戻り値: Promise<Command>

      コマンドを記述するマップのマップ

    • 名前またはIDでハイライトを取得します。

      パラメータ

      • nameOrId: string | number

        名前またはID

      • isRgb: boolean = true

        RGBカラーをエクスポートするかどうか

      戻り値 void | Promise<object>

      ハイライト定義マップ

    • id |hlID()| でハイライト定義を取得します。

      パラメータ

      • id: number

        |hlID()| で返されるハイライトID

      • isRgb: boolean = true

        RGBカラーをエクスポートするかどうか

      戻り値 Promise<object>

      ハイライト定義マップ

    • 名前でハイライト定義を取得します。

      パラメータ

      • name: string

        ハイライトグループ名

      • isRgb: boolean = true

        RGBカラーをエクスポートするかどうか

      戻り値 Promise<object>

      ハイライト定義マップ

    • グローバル(バッファローカルではない)|mapping| 定義のリストを取得します。

      パラメータ

      • mode: string

        モードの短縮名("n"、"i"、"v"など)

      戻り値 Promise<object[]>

      マッピングを記述するmaparg()のような辞書の配列。 "buffer" キーは常にゼロです。

    • EventEmitter の現在の最大リスナー値を返します。これは、emitter.setMaxListeners(n) によって設定されるか、defaultMaxListeners がデフォルトです。

      戻り値 number

      v1.0.0

    • 既存の、匿名ではない名前空間を取得します。

      戻り値: Promise<{
          [name: string]: number;
      }>

      名前から名前空間IDへのマップを返すdict。

    • this のタイプに応じて、スコープされたオプションを取得します。

      パラメータ

      • name: string

      戻り値 void | Promise<VimValue>

    • プロセス pid を記述する情報を取得します。

      パラメータ

      • pid: number

        pid

      戻り値 Promise<Proc>

      プロセスのプロパティのマップ。プロセスが見つからない場合は null。

    • プロセス pid の直下の子を取得します。

      パラメータ

      • pid: number

      戻り値 Promise<Proc[]>

      子プロセスIDの配列。プロセスが見つからない場合は空です。

    • this.prefix を使用して)タイプに応じて、スコープされた変数を取得します。

      パラメータ

      • name: string

      戻り値 Promise<VimValue>

    • パラメータ

      • method: string
      • args: VimValue[]
      • resp: any
      • Rest...restArgs: any[]

      戻り値: void

    • 生のユーザー入力をキューに入れます。|nvim_feedkeys()|とは異なり、これは低レベルの入力バッファを使用し、呼び出しはノンブロッキングです(入力はイベントループによって非同期に処理されます)。

      実行エラーが発生した場合:失敗しませんが、v:errmsgが更新されます。

      注意:次のような|keycodes|は変換されるため、「<」は特別な意味を持ちます。文字通りの「<」を入力するには、次のように送信します。.

      注意:マウスイベントの場合は、|nvim_input_mouse()|を使用してください。擬似キー形式「<col,row>」は、|api-level| 6以降非推奨です。

      パラメータ

      • keys: string

        入力するキー

      戻り値: Promise<number>

    • GUIからマウスイベントを送信します。

      この呼び出しはノンブロッキングです。結果として生じるアクションを待つのではなく、イベントをキューに入れてイベントループによってすぐに処理されるようにします。

      注意:現在、これはループ内で複数回呼び出して複数のマウスイベントを「スクリプト化」することをサポートしていません。中間的なマウスの位置は無視されます。これはGUIでリアルタイムのマウス入力を実装するために使用する必要があります。非推奨の擬似キー形式(「<col,row>」)の|nvim_input()|にも同じ制限があります。

      パラメータ

      • button: string

        マウスボタン: "left"、"right"、"middle"、"wheel"のいずれか。

      • action: string

        通常ボタンの場合は、"press"、"drag"、"release"のいずれか。ホイールの場合は、"up"、"down"、"left"、"right"のいずれか。

      • modifier: string

        単一の文字で表される各修飾子の文字列。キープレスと同じ指定子が使用されますが、"-"セパレーターはオプションであるため、"C-A-"、"c-a"、"CA"のいずれもCtrl+Alt+クリックを指定するために使用できます。

      • grid: number

        クライアントが|ui-multigrid|を使用する場合はグリッド番号、それ以外の場合は0。

      • row: number

        マウスの行位置(ゼロベース、再描画イベントと同様)

      • col: number

        マウスの列位置(ゼロベース、再描画イベントと同様)

      Promise<any> を返します。

    • eventName という名前のイベントをリッスンしているリスナーの数を返します。

      パラメータ

      • eventName: string | symbol

        リッスンしているイベントの名前

      戻り値 number

      v3.2.0

    • eventName という名前のイベントのリスナーの配列のコピーを返します。

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]

      パラメータ

      • eventName: string | symbol

      返り値 Function[]

      v0.1.26

    • request は基本的に同じですが、promiseが解決されるのを待つかどうかを選択できます。

      パラメータ

      • name: string
      • args: any[]

      戻り値: void

    • emitter.removeListener() のエイリアスです。

      パラメータ

      • eventName: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args): void
          • パラメータ

            • Rest...args: any[]

            戻り値: void

      this を返します

      v10.0.0

    • eventName という名前のイベントのリスナー配列の末尾に、listener 関数を追加します。listener が既に追加されているかのチェックは行われません。eventNamelistener の同じ組み合わせを渡して複数回呼び出すと、listener が追加され、複数回呼び出されることになります。

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      デフォルトでは、イベントリスナーは追加された順序で呼び出されます。emitter.prependListener() メソッドを代わりに使用して、イベントリスナーをリスナー配列の先頭に追加できます。

      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      パラメータ

      • eventName: string | symbol

        イベントの名前。

      • listener: ((...args: any[]) => void)

        コールバック関数

          • (...args): void
          • パラメータ

            • Rest...args: any[]

            戻り値: void

      this を返します

      v0.1.101

    • eventName という名前のイベントに対して、一度だけ listener 関数を追加します。次に eventName がトリガーされると、このリスナーは削除されてから呼び出されます。

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      デフォルトでは、イベントリスナーは追加された順序で呼び出されます。emitter.prependOnceListener() メソッドを代わりに使用して、イベントリスナーをリスナー配列の先頭に追加できます。

      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      パラメータ

      • eventName: string | symbol

        イベントの名前。

      • listener: ((...args: any[]) => void)

        コールバック関数

          • (...args): void
          • パラメータ

            • Rest...args: any[]

            戻り値: void

      this を返します

      v0.3.0

    • VimL式を解析します

      TODO: 戻り値の型、:help を参照してください

      パラメータ

      • expr: string
      • flags: string
      • highlight: boolean

      戻り値 Promise<object>

    • eventName という名前のイベントのリスナー配列の先頭listener 関数を追加します。listener が既に追加されているかのチェックは行われません。eventNamelistener の同じ組み合わせを渡して複数回呼び出すと、listener が追加され、複数回呼び出されることになります。

      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      });

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      パラメータ

      • eventName: string | symbol

        イベントの名前。

      • listener: ((...args: any[]) => void)

        コールバック関数

          • (...args): void
          • パラメータ

            • Rest...args: any[]

            戻り値: void

      this を返します

      v6.0.0

    • eventName という名前のイベントに対して、リスナー配列の _先頭_ に 一度だけ listener 関数を追加します。次に eventName がトリガーされると、このリスナーは削除されてから呼び出されます。

      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      パラメータ

      • eventName: string | symbol

        イベントの名前。

      • listener: ((...args: any[]) => void)

        コールバック関数

          • (...args): void
          • パラメータ

            • Rest...args: any[]

            戻り値: void

      this を返します

      v6.0.0

    • eventName という名前のイベントのリスナーの配列のコピーを返します。これには、.once() によって作成されたラッパーが含まれます。

      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');

      パラメータ

      • eventName: string | symbol

      返り値 Function[]

      v9.4.0

    • すべてのリスナー、または指定された eventName のリスナーを削除します。

      特に EventEmitter インスタンスが他のコンポーネントまたはモジュール(例:ソケットまたはファイルストリーム)によって作成された場合、コードの別の場所で追加されたリスナーを削除することは、悪い習慣です。

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      パラメータ

      • Optionalevent: string | symbol

      this を返します

      v0.1.26

    • 指定されたeventNameのイベントリスナー配列から、指定されたlistenerを削除します。

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() は、リスナー配列から最大で1つのリスナーインスタンスを削除します。特定のeventNameのリスナー配列に同じリスナーが複数回追加されている場合、各インスタンスを削除するにはremoveListener()を複数回呼び出す必要があります。

      イベントが発行されると、発行時にアタッチされていたすべてのリスナーが順番に呼び出されます。つまり、発行後かつ最後のリスナーの実行が完了するremoveListener()またはremoveAllListeners()を呼び出した場合、進行中のemit()からそれらを削除することはできません。後続のイベントは期待どおりに動作します。

      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A

      リスナーは内部配列を使用して管理されるため、これを呼び出すと、削除されるリスナーのに登録されたリスナーの配置インデックスが変更されます。これはリスナーが呼び出される順序には影響しませんが、emitter.listeners()メソッドによって返されるリスナー配列のコピーは再作成する必要があることを意味します。

      単一の関数が単一のイベントのハンドラーとして複数回追加されている場合(以下の例のように)、removeListener()は最後に追加されたインスタンスを削除します。例では、once('ping')リスナーが削除されます。

      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      パラメータ

      • eventName: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args): void
          • パラメータ

            • Rest...args: any[]

            戻り値: void

      this を返します

      v0.1.26

    • 文字列内のターミナルコードおよび |keycodes| (, , ...)を内部表現に置き換えます。

      パラメータ

      • str: string

        変換される文字列。

      • fromPart: boolean

        レガシーVimパラメータ。通常はtrue。

      • doIt: boolean

        以下も変換specialがfalseの場合は無視されます。

      • special: boolean

        |keycodes|を置き換えます。例:は"\n"文字になります。

      戻り値: Promise<string>

    • 補完ポップアップメニュー内のアイテムを選択します。

      |ins-completion| がアクティブでない場合、このAPI呼び出しは黙って無視されます。|ui-popupmenu| を使用してマウスでポップアップメニューを制御する外部UIに役立ちます。マッピングでも使用できます。マッピングが補完モードを終了しないように、|:map-cmd|を使用してください。

      パラメータ

      • item: number

        選択する項目のインデックス(ゼロベース)。-1 の値は何も選択せず、元のテキストを復元します。

      • insert: boolean

        選択をバッファに挿入するかどうか。

      • finish: boolean

        補完を終了し、ポップアップメニューを閉じます。insertを意味します。

      • opts: object = {}

        オプションのパラメータ。将来の使用のために予約されています。

      Promise<any> を返します。

    • nvimのクライアントを識別します。複数回呼び出すことができますが、後続の呼び出しは以前の情報を削除します。これは、ライブラリが最初にチャネルを識別し、そのライブラリを使用するプラグインが後でその情報を上書きする場合に発生する可能性があります。有効な場合は、再送信する必要があります。

      パラメータ

      • name: string
      • version: object
      • type: string
      • methods: object
      • attributes: object

      戻り値: void

    • デフォルトでは、特定のイベントに10個以上のリスナーが追加されると、EventEmitterは警告を出力します。これはメモリリークを見つけるのに役立つ便利なデフォルトです。emitter.setMaxListeners()メソッドを使用すると、この特定のEventEmitterインスタンスの制限を変更できます。リスナーの数を無制限にするには、値をInfinity(または0)に設定できます。

      EventEmitter への参照を返します。これにより、呼び出しをチェーンできます。

      パラメータ

      • n: number

      this を返します

      v0.3.5

    • スコープ付きオプションを設定します。

      パラメータ

      • name: string
      • value: VimValue

      void | Promise<void> を返します。

    • v: 変数を設定します。ただし、読み取り専用でない場合に限ります。

      パラメータ

      • name: string

        変数名

      • value: VimValue

        変数の値

      Promise<any> を返します。

    • text が占める表示セルの数を計算します。1セルとしてカウントします。

      パラメータ

      • str: string

        一部テキスト

      戻り値: Promise<number>

      セルの数

    • グリッドをリサイズするように Nvim に指示します。要求されたグリッドサイズまたはサイズ制限を超える場合は最大サイズで `grid_resize` イベントをトリガーします。

      無効なグリッドハンドルでは、エラーで失敗します。

      パラメータ

      • grid: number

        変更するグリッドのハンドル

      • width: number

        新しい要求幅

      • height: number

        新しい要求高さ

      戻り値: Promise<void>

    • eventName という名前のイベントのリスナーの配列のコピーを返します。

      EventEmitterの場合、これはemitterで.listenersを呼び出すのと全く同じ動作をします。

      EventTargetの場合、これはイベントターゲットのイベントリスナーを取得する唯一の方法です。これはデバッグや診断の目的で役立ちます。

      const { getEventListeners, EventEmitter } = require('events');

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      getEventListeners(ee, 'foo'); // [listener]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      getEventListeners(et, 'foo'); // [listener]
      }

      パラメータ

      • emitter: EventEmitter | DOMEventTarget
      • name: string | symbol

      返り値 Function[]

      v15.2.0

    • 指定されたemitterに登録されている指定されたeventNameのリスナー数を返すクラスメソッド。

      const { EventEmitter, listenerCount } = require('events');
      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2

      パラメータ

      • emitter: EventEmitter

        クエリを実行するemitter

      • eventName: string | symbol

        イベント名

      戻り値 number

      v0.9.12

      v3.2.0以降 - 代わりにlistenerCountを使用してください。

    • const { on, EventEmitter } = require('events');

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      eventNameイベントを反復処理するAsyncIteratorを返します。EventEmitter'error'を発行するとスローします。ループを終了すると、すべてのリスナーが削除されます。各反復処理で返されるvalueは、発行されたイベント引数で構成される配列です。

      AbortSignalを使用して、イベントの待機をキャンセルできます。

      const { on, EventEmitter } = require('events');
      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());

      パラメータ

      • emitter: EventEmitter
      • eventName: string

        リッスンしているイベントの名前

      • Optionaloptions: StaticEventEmitterOptions

      AsyncIterableIterator<any>を返します

      emitterによって発行されたeventNameイベントを反復処理します

      v13.6.0, v12.16.0

    • EventEmitterが指定されたイベントを発行したときに履行されるPromise、または待機中にEventEmitter'error'を発行した場合に拒否されるPromiseを作成します。Promiseは、指定されたイベントに発行されたすべての引数の配列で解決されます。

      このメソッドは意図的に汎用的であり、特別な'error'イベントセマンティクスを持たず、'error'イベントをリッスンしないWebプラットフォームのEventTargetインターフェースで動作します。

      const { once, EventEmitter } = require('events');

      async function run() {
      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.log('error happened', err);
      }
      }

      run();

      'error'イベントの特別な処理は、別のイベントを待機するためにevents.once()を使用する場合にのみ使用されます。events.once()'error'イベント自体を待機するために使用する場合、特別な処理なしで他の種類のイベントとして扱われます

      const { EventEmitter, once } = require('events');

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.log('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom

      AbortSignalを使用して、イベントの待機をキャンセルできます

      const { EventEmitter, once } = require('events');

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!

      パラメータ

      • emitter: NodeEventTarget
      • eventName: string | symbol
      • Optionaloptions: StaticEventEmitterOptions

      Promise<any[]>を返します

      v11.13.0, v10.16.0

    • パラメータ

      • emitter: DOMEventTarget
      • eventName: string
      • Optionaloptions: StaticEventEmitterOptions

      Promise<any[]>を返します