← Back to context

Comment by skydhash

3 days ago

You may have a very justified reason to switch, including nnot liking one aspect of emacs. But you are presenting it as a general flaw. Which people cannot obviously accept as it’s fine for them and they are not experiencing your issue (and as you know, everyone’s setup and workflow are different)

As for the single threaded nature of it, it doesn’t bother me. Because what should be async already is. The only thing left that is synchronous follows closely the repl model of the terminal. I issue a command and I wait for the result. If the result doesn’t matter or I want part of it as soon as possible, then it can be async and there’s plenty of way you can make it so.

How do you make LSPs fast?

  • > How do you make LSPs fast?

    https://github.com/blahgeek/emacs-lsp-booster

    The fundamental issue is Emacs its JSON parser is currently still rather slow (not sure why actually). But in LSP mode it needs to parse the LSP server's many JSON response messages very quickly. The aforementioned booster converts all JSON into ELISP byte code so Emacs can process LSP messages much faster.

    I guess, the Emacs project will have to tune their JSON parser in the future.

  • What do you mean? The language servers are independent projects from emacs. Some are slow and some are fast. And your project size is a factor.

> it doesn't bother me

Right, so what you're really saying is that you are totally fine with your editor being unresponsive and janky during regular editing workflow, working with modern tooling, and that everyone else is just wrong for not feeling the same way.

You do you. I lived with the same copium excuse for years, obviously, but I've moved past that now and into the year 20xx.

I love emacs and truly wish that I felt like I could seriously use it, and in many ways, I feel like it's the ultimate expression of what an editor could be. But it's just suffering from being 40 year old software that hasn't seen significant modernization to meet the demands of today's development workflows.

  • Modern tooling part one: tried using an LSP with emacs (35+ year user) ... gave up after 3 days, it provided absolutely nothing to my workflow.

    Modern tooling part two: via M-x grep (bound to F1) use ag(1) or rg(1) instead of grep to explore my codebase, runs async and finishes more or less before my "emacs pinkie" is ready to touch another key.

    • I've been getting into AI in emacs. ellama and especially minuet can be a big help.

  • Your assumption is that Emacs is unresponsive and janky during my editing experience and it’s not that.

    Everyone’s setup is different. Your configuration may be janky and unresponsive, but it’s not a generality.