diff options
author | Sacha Chua <sacha@sachachua.com> | 2022-12-20 13:05:54 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2022-12-21 09:32:35 -0500 |
commit | e83f377aba7079eca2ab774e7f27f2704f669f43 (patch) | |
tree | 1a6a60fc78ad9d1fe94b90830c4d277dd18fb236 /2022/talks/lspbridge.md | |
parent | b2557aa762f38de500eb8f14305e35d40b0606df (diff) | |
download | emacsconf-wiki-e83f377aba7079eca2ab774e7f27f2704f669f43.tar.xz emacsconf-wiki-e83f377aba7079eca2ab774e7f27f2704f669f43.zip |
add answer captions, add rest of IRC comments
Diffstat (limited to '2022/talks/lspbridge.md')
-rw-r--r-- | 2022/talks/lspbridge.md | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/2022/talks/lspbridge.md b/2022/talks/lspbridge.md index 40b444f6..a6fcfb19 100644 --- a/2022/talks/lspbridge.md +++ b/2022/talks/lspbridge.md @@ -49,6 +49,7 @@ Related design, please check <https://manateelazycat.github.io/emacs/2022/05/12/ - Q:Will this be a candidate for core Emacs? - A:Perhaps not, it uses a lot of Python and many Emacsers may not like that instead of pure elisp. + - (someone else on IRC): And as I said above, this breaks introspectivity, which is one of the main features of Emacs. - Q:If performance is the main objective, why Python and not something like, e.g. Rust? - A:Python is easy to develop in, and LSP's performance is @@ -88,7 +89,7 @@ Related design, please check <https://manateelazycat.github.io/emacs/2022/05/12/ project. - Q: does lsp-bridge work over Tramp? - A: tramp is very slow, I will planinng write new plugin to - replace tramp, then we will make lsp-bridge work on remote + replace otramp, then we will make lsp-bridge work on remote machine, and something like VSCode does, idea <https://github.com/manateelazycat/lsp-bridge/issues/357> - Q: Does acm mode work on terminal or it only works on GUI? @@ -108,6 +109,32 @@ Related design, please check <https://manateelazycat.github.io/emacs/2022/05/12/ - A: breadcrumbs is not LSP procotol, I just want we coding like hacker that live in Emacs, I don't want make Emacs like a VSCode clone. +- Q: doesn't Python have the same fundamental problem with threads? I mean GIL. + - A: NO, if you really wrote multi-thread code. +- GIL doesn't matter for handling blocking IO in multiple threads + - lounge-4227, same is true for elisp + - Most emacsers haven't experience on multi-thread, python GIL won't block this. + - But Emacs's haven't multi-thread. + - Emacs's single-thread and GC can't handle LSP in real-time. +- Q: ManateeLazyCat Do you think Emacs could be fixed in order to allow for this kind of multithreaded implementations in Elisp itself? + - A: No, there have so many elisp code running single-thread, if elisp implement multithread, Emacs will break out. +- Q: I tried lsp-bridge, and it's wonderful. What I miss most is imenu integration in lsp-mode/eglot. Is there any plan to support it ? + - A: I doesn't use imenu, I'm personal no plan to support it, but any PR are welcome. +- I don't have anything against Python, in fact I like it myself, but it seems strange that this can't be solved without requiring a second runtime + - A: It's not technology, it's about Emacs's history, if emacs include multi-thread, will break most elisp plugins. +- Q: Does the package manage the external LSP and bridge processes. + - A: Yes. + +Other feedback from IRC: + +- I can relate Java LSP and a huge repository :D +- Fast response from LSP really impressed me. +- Smooth-as-butter, that's a really apt description of it. In the past few days I have learned it for the improvement of acm-mode and I am very comfortable. I was a TabNine user, so it was exciting that acm-mode supported it out-of-box. +- I was hooked on Corfu and Cape right before I touched on acm-mode, but acm-mode turned me around in an instant. +- Yeah, I like the ideas behind lsp-bridge, and a great explanation of it. I may have to have a wrapper function to toggle corfu and whatnot whenever I start the lsp-bridge. +- Well, you just did, with this work, so there is at least one way that was done. It means that it should be a way to restrict multithreading in a way that doesn't break existing code but adds functionality for solving particular problems +- Yes, definitely not easy, but worth it. Your work proves it, so I hope it motivates people to solve the fundamental problem at some point. In the meantime, please continue the awesome work you are doing! +- Big thanks for working on this project, I think it's great that there's a solution out there for LSP performance. My setup has been struggling on some particularly large projects w/ many thousand line TS/Ruby files [[!inline pages="internal(2022/info/lspbridge-after)" raw="yes"]] |