クラス Neovim

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_'
transport: Transport
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean

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

defaultMaxListeners: number
errorMonitor: typeof errorMonitor

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

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

アクセサ

  • 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 mode(): Promise<{
        blocking: boolean;
        mode: string;
    }>
  • 現在のモードを取得します。|mode()| Nvimが入力を待機している場合、"blocking"は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 uis(): Promise<Ui[]>
  • アタッチされたUIを表す辞書のリストを取得します。

    戻り値: Promise<Ui[]>

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

メソッド

  • パラメータ

    • name: string
    • args: any[] = []

    戻り値: Promise<any>

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

    パラメータ

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

          • Rest...args: any[]

          戻り値 void

    thisを返します

    v0.1.26

  • パラメータ

    • name: string
    • args: any[] = []

    戻り値: Promise<any>

  • 指定された引数で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を返します

  • callのエイリアス

    パラメータ

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

    戻り値: Promise<any>

  • 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

  • スコープ付き変数を削除します

    パラメータ

    • name: string

    Promise<void>を返します

  • 指定された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

  • neovim APIと一貫性を持たせるためのlua()のエイリアス

    パラメータ

    • code: string
    • args: VimValue[] = []

    戻り値 Promise<VimValue>

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

    実行エラーの場合:失敗しませんが、v:errmsgを更新します。

    パラメータ

    • keys: string

      入力するキー

    • mode: string

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

    • escapeCsi: boolean

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

    戻り値: Promise<any>

  • チャネルに関する情報を取得します。

    パラメータ

    • chan: number

      チャネル番号

    戻り値 Promise<Channel>

    チャネル

  • 名前で色を取得します。

    パラメータ

    • name: string

      色の名前

    Promise<number>を返します

    色の値

  • バッファーローカルの |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へのマッピングを持つ辞書。

    • 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>

    • 生のユーザー入力をキューに入れます。|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

        各修飾キーを1文字で表した修飾キーの文字列。キー押下時と同じ指定子を使用しますが、"-" 区切り文字はオプションであり、"C-A-"、"c-a"、"CA" のすべてが Ctrl+Alt+クリックを指定するために使用できます。

      • grid: number

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

      • row: number

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

      • col: number

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

      戻り値: 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

    • Lua コードを実行します。

      パラメータ

      • code: string
      • args: VimValue[] = []

      戻り値 Promise<VimValue>

    • request は、プロミスが解決されるのを待つことができる点を除いて基本的に同じです。

      パラメータ

      • 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 という名前のイベントに対して、1回のみ実行される 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

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

      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

    • 現在の行を設定します。

      パラメータ

      • line: string

        行の内容

      戻り値: Promise<any>

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

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

      パラメータ

      • n: number

      thisを返します

      v0.3.5

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

      パラメータ

      • name: string
      • value: VimValue

      戻り値: void | Promise<void>

    • スコープ付き変数を設定します

      パラメータ

      • name: string
      • value: VimValue

      Promise<void>を返します

    • v:変数が読み取り専用でない場合に設定します。

      パラメータ

      • name: string

        変数名

      • value: VimValue

        変数値

      戻り値: Promise<any>

    • 現在のウィンドウを設定します。

      パラメータ

      • win: Window

        ウィンドウハンドル

      戻り値: Promise<any>

    • textによって占有される表示セルの数を計算します。1セルとして数えます。

      パラメータ

      • str: string

        テキスト例

      Promise<number>を返します

      セルの数

    • nvimイベントブロードキャストを購読します

      パラメータ

      • event: string

        イベントタイプ文字列

      Promise<void>を返します

    • パラメータ

      • width: number
      • height: number
      • options: UiAttachOptions

      Promise<void>を返します

    • UIオプションを設定します

      パラメータ

      • name: string
      • value: any

      Promise<void>を返します

    • TODO: ドキュメント

      パラメータ

      • width: number

        リクエストされた新しい幅

      • height: number

        リクエストされた新しい高さ

      Promise<void>を返します

    • Nvimにグリッドのサイズ変更を指示します。リクエストされたグリッドサイズ、またはサイズ制限を超える場合は最大サイズでgrid_resizeイベントをトリガーします。

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

      パラメータ

      • grid: number

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

      • width: number

        リクエストされた新しい幅

      • height: number

        リクエストされた新しい高さ

      Promise<void>を返します

    • nvimイベントブロードキャストの購読を解除します

      パラメータ

      • event: string

        イベントタイプ文字列

      Promise<void>を返します

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

      EventEmitter の場合、これはエミッターで .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

        クエリ対象のエミッター

      • 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 が指定されたイベントを発行したときに履行される、または待機中に 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[]>