From 67f0f1c500091db27a69cb3a05fffd20c137d6e4 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Fri, 30 Sep 2022 15:59:56 -0400 Subject: Add 2022 talks --- 2022/talks/lspbridge.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 2022/talks/lspbridge.md (limited to '2022/talks/lspbridge.md') diff --git a/2022/talks/lspbridge.md b/2022/talks/lspbridge.md new file mode 100644 index 00000000..f1efb495 --- /dev/null +++ b/2022/talks/lspbridge.md @@ -0,0 +1,30 @@ +[[!meta title="lsp-bridge: complete asynchronous LSP client"]] +[[!meta copyright="Copyright © 2022 Andy Stewart"]] +[[!inline pages="internal(2022/info/lspbridge-nav)" raw="yes"]] + + + + + +# lsp-bridge: complete asynchronous LSP client +Andy Stewart + +[[!inline pages="internal(2022/info/lspbridge-before)" raw="yes"]] + +Emacs built-in single-threaded mechanism and GC design will cause Emacs to freeze when receiving oversized LSP data. + +Lsp-bridge uses python's threading technology to build caches that bridge Emacs and LSP server. Lsp-bridge will provide a smooth completion experience without compromise to slow down emacs' performance. + +lsp-bridge is completely asynchronous, to the point that even the completion popup is controlled by lsp-bridge. It offloads all the computation to an external python process, and hence the emacs session itself stays always responsive, as it has very few things to do. + +lsp-bridge has now supported 39 LSP servers and all kinds completion backend: include LSP、 TabNine、 Citre、 Elisp、 Search Words、 Path、 Yasnippet、 Tempel、 Telegra、 English etc, it just works pretty well out of the box. + +Related design, please check and (sorry, I'm Chinese Emacser) + + + +[[!inline pages="internal(2022/info/lspbridge-after)" raw="yes"]] + +[[!inline pages="internal(2022/info/lspbridge-nav)" raw="yes"]] + +[[!taglink CategoryCoding]] -- cgit v1.2.3