summaryrefslogtreecommitdiffstats
path: root/2022/talks/lspbridge.md
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-12-20 13:05:54 -0500
committerSacha Chua <sacha@sachachua.com>2022-12-21 09:32:35 -0500
commite83f377aba7079eca2ab774e7f27f2704f669f43 (patch)
tree1a6a60fc78ad9d1fe94b90830c4d277dd18fb236 /2022/talks/lspbridge.md
parentb2557aa762f38de500eb8f14305e35d40b0606df (diff)
downloademacsconf-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.md29
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"]]