Closed wdv4758h closed 7 years ago
Clangd 是利用 JSON RPC 作為溝通方式,藉此把 Clang 的能力 expose 給編輯緝或 IDE,而不必受到 libclang ABI 更動的影響。
Rust 這邊也有類似的專案,叫 Rust Language Server (RLS),https://github.com/rust-lang-nursery/rls 。
Clangd 和 RLS 實做的都是 Language Server Protocol。
Language Server Protocol:
除了 Microsoft 外,Red Hat 和 Eclipse Che 都已經加入開發。
Neovim 上的相關討論
Phoronix: http://www.phoronix.com/scan.php?page=news_item&px=LLVM-Clang-Clangd-Server Commit: Add a prototype for clangd https://reviews.llvm.org/rL294291