Dev_arch

Nvim :help 頁面,由 產生,使用 tree-sitter-vimdoc 解析器從 原始碼 產生。


如何開發 Nvim,模組和子系統的說明
每個主要模組的頂部,在其檔案的頂部都有(或應該有)一個註解概述。本文檔的目的是提供
1. 概述所有組件如何結合在一起 2. 常見任務的操作指南,例如
棄用公開函數
新增一個新的公開 (API) 函數
新增一個新的公開 (UI) 事件 3. 待辦事項:將 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 存取的元數據。
請參閱 commit d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff,以了解新增 UI 事件的範例。
UI 事件會延遲到 UI 處理,這意味著 UI 事件數據的深層複製。
請記住在此開發週期中,如果還沒有,請遞增 NVIM_API_LEVEL。
主頁
命令索引
快速參考