Dev_arch

Nvim :help ページは、生成された ソース から tree-sitter-vimdoc パーサーを使用して生成されます。


Nvim の開発方法、モジュールとサブシステムの説明
各主要モジュールのトップには、ファイルのトップにあるコメントに概要が記述されています(または記述する必要があります)。このドキュメントの目的は、
1. すべてがどのように適合するかについての概要 2. 次のような一般的なタスクの手順ガイド
public 関数の廃止
新しい public (API) 関数の追加
新しい public (UI) イベントの追加 3. TODO: src/nvim/README.md をこのドキュメントに移動します。

データ構造

ほとんどのリストには kvec.h を使用します。連結リストが絶対に必要な場合は、[侵入型] 連結リストを定義する lib/queue_defs.h を使用してください。

UI イベント

UI イベントに最も直接的に関わるソースファイルは次のとおりです。1. src/nvim/ui.*: 登録された UI 構造のハンドラー関数(msgpack-rpc に依存しない)を呼び出します。 2. src/nvim/api/ui.*: msgpack-rpc 上でメッセージをリモート UI に転送します。
UI イベントは src/nvim/api/ui_events.in.h で定義されています。このファイルは直接コンパイルされず、上記ソースファイルで使用されるラッパー関数を自動生成する src/nvim/generators/gen_api_ui_events.lua によって解析されます。また、api_info().ui_events としてアクセスできるメタデータも生成します。
新しい UI イベントを追加する例については、コミット d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff を参照してください。
UI イベントは UI に委譲され、それには UI イベントデータのディープコピーが暗示されます。
この開発サイクル中にまだ NVIM_API_LEVEL が上昇していない場合は、上昇させてください。
メイン
コマンドインデックス
クイックリファレンス