Live data from Hacker News

Emacs 29 is nigh

blog.phundrak.com

221–230 of 267 posts

Re: Emacs 29 is nigh

#221

Its great to see both eglot and tree-sitter being merged. However, I am unhappy about the state of 'emacs configurations/distributions' right now. I have been using Doom Emacs, but the development is pretty much stalled there [0], and I don't think there is any distribution that is keeping up with these cutting-edge features (compared to the NeoVim ecosystem, let's say). Somehow it feels like I was seeing a lot more…

I've been using Emacs overlay to compile packages ahead of time for a while. Unless I've misunderstood how it works, that's what the variations on emacsWithPackages do. I use the version of emacsWithPackages that parses use-package declarations from my .emacs file and uses Nix to compile and install the corresponding Emacs packages. The upside is that this also pulls in native dependencies (pdf-tools/etc) but the dow…

While not in line with the Lisp philosophy, it's far more hygienic to restart Emacs after a configuration change rather than reloading the init file. There's really no way to bring Emacs back to a pre-init state in order to recreate the initialization process. Not to mention that compiling the init file runs different code than loading the init file, and Lisp expressions are far from idempotent, so you can't really be sure your changes work until you restart Emacs anyway.

Re: Emacs 29 is nigh

#223
post #63

I really want to use Emacs but I can't get Company + any LSP to come close to vs code or coc.nvim. When I configure company to trigger instantly on a single keystroke, Emacs completely locks up pretty much every time I hit a key.

This is a bit strange. I have Company setup to do the same thing and use it with Rust Analyzer and I have not experienced any stuttering at all!

I read down a bit and it seems like someone has mentioned building with "--with json", and this should be what makes the biggest difference here I think! The only thing I can think is that, maybe you didn't have libjansson installed while building Emacs, or it can't find it for some reason. It also needs to be available at runtime!

You can test to see if libjannson parsing is available by running '(json-available-p)' inside Emacs, in IELM for example.

Maybe some of this information will help!

Re: Emacs 29 is nigh

#224

Earlier quoted context omitted.

I use tramp on a devcontainer daily FWIW.

What languages? I've struggled to get it working with Ruby (specifically with robe) and it's the one thing that keeps me in VSCode for work.

I can say that Haskell and haskell-language-server work with eglot in a devcontainer.

Re: Emacs 29 is nigh

#225

Earlier quoted context omitted.

For me its been the questionable stewardship of vscode ( https://github.com/omnisharp/omnisharp-vscode/issues/5276 ) driving me away from vscode and the Emacs from Scratch videos from the System Crafters youtube channel driving me towards Emacs. When I was looking for alternatives I stumbled on those videos and they blew me away. Also Emacs 28/29 has been way more welcoming and easy to get started with than when I fi…

As a vscode user considering the move, how difficult would it be to get to the point of making emacs a daily driver? Can it be a pick it up as you go thing? Or would I have to spend a few evenings figuring out the basics and configuration? Is lisp knowledge required?

>>As a vscode user considering the move, how difficult would it be to get to the point of making emacs a daily driver?

Among the big list of features missing in Emacs as of now is remote development that way its done is vscode.

Re: Emacs 29 is nigh

#226

Earlier quoted context omitted.

> Want to open files? OK here are your files from your own machine. It does not understand, that it should use the generic action of showing available files in the context of the opened SSH session. Are you sure? If I launch a remote session window and click open file/folder, it's on the remote (either SSH or docker for my workflows). VS Code runs a server on the remote with any plugins (including LSP servers) instal…

> Are you sure? If I launch a remote session window and click open file/folder, it's on the remote (either SSH or docker for my workflows). I am not sure about dedicated extra windows. I've not seen it being done in an ad-hoc started shell, inside a normal VSCode editor instance, at least. If it is a new windows (new process) it is not really the same, as the new instance is then dedicated to being a remote session o…

>>Whenever I see people closing and opening VSCode instances, I feel like: "Why did you close that?! Can't you just do things in your editor without frequently closing and opening it again?" It feels like an inefficient process.

This is one more thing which emacs/vi people don't get. Most people don't care for things like start up time, or restarting their editor/ide a few times. Because time spent writing code far exceeds a few minutes/seconds of this sort of stuff. When you optimise for things like these, at the expense of features like full remote integration you are optimising for things that majority don't care for things that are irrelevant in the context of modern day development.

>>You can run Emacs as a server, for example on a remote host

vscode is all about doing work the user should be doing. Nobody should be spending lots of times, in case of emacs that's often weeks to months of effort configuring and tweaking things that should come and work right out of the box.

Re: Emacs 29 is nigh

#227
post #130

I am loving all this emacs love lately (I am an emacsophile), but I do find all this attention it is getting suddenly a bit surprising. Is it just that "long lines, LSP, fast syntax hightlighting" is making new people interested, or is it just us neckbeards coming out of the woods? I mean, many of these things are just a package-install away right now. I seldom see vim put in the same lime-light, for instance. Or may…

vim's stewardship is a lot more conservative but neovim has gotten a fair amount of press with recent releases

Yes—Neovim has gotten a lot of press the last couple of years on HN and elsewhere.

Native LSP and Treesitter support for Neovim shipped nearly 18 months ago.

Someone asked if the uptick in interest in the venerable (Neo)Vim and Emacs editors was due to the neckbeards awakening from their hibernation… something to that affect.

What’s interesting about the Neovim community is how young most of the core contributors and those new-to-Vim are. Lots of vs code refugees.

Re: Emacs 29 is nigh

#228
post #71
post #50

Watching the Emacs community, I’m always just blown away by the love and adoration it gets. It’s clear to me that there’s something magical in it, but I can’t seem to tap that magic for myself. I’ve tried - really tried, including relearning lisp - to adopt Emacs roughly four times over my career; it never stuck. I understand the basic benefits, eg keyboard-optimized workflows, deep customization/malleability, etc. B…

I do think that keyboard optimized workflows are not for everyone; you should use what works best for you! However, Emacs distributions like Doom Emacs or Spacemacs are definitely more approachable and featured OOTB than vanilla Emacs. For me, the benefit of Emacs is that it's a single environment I can do everything in. I also am the type to enjoy messing with my workflow. IMO most of that can be replicated with VS…

Neovim. It is lighter weight than either Emacs or VS Code but can still have pretty much all the bells and whistles. Definitely cool if you prefer to live in a terminal.

There are several GUIs for Neovim for various platforms [1].

[1]: https://github.com/neovim/neovim/wiki/Related-projects#gui

Re: Emacs 29 is nigh

#229

Earlier quoted context omitted.

Thanks for these tips! I'll explore tabspaces, apheleia, async-shell-command (and the Go lib) — all of those are new to me. > Can you give a specific example of something you had trouble with? I hoped to recreate multiple long-running terminal sessions in splits and tabs, similar to functionality I now use from: Neovim (plugin): https://github.com/akinsho/toggleterm.nvim VS Code (built-in): https://code.visualstudio.…

> I hoped to recreate multiple long-running terminal sessions in splits and tabs, similar to functionality I now use from: > Neovim (plugin): https://github.com/akinsho/toggleterm.nvim > VS Code (built-in): https://code.visualstudio.com/docs/terminal/basics#_managing ... The example in that vscode link can be replicated in emacs by: 1. having a single buffer open 2. C-x 2 (split-window-below) 3. C-x o (other-buffer)…

Thank you for this — keyboard macros look great, and I'll explore the book to fill in some gaps.

Re: Emacs 29 is nigh

#230
post #191

Earlier quoted context omitted.

Looks like I’ve got that on my machine, and I built Emacs —with-json this time. Performance is still better but it’s still stuttery. I guess it’s related to either the json parsing happening on the main thread and/or the LSP servers using company-capf which I think is a synchronous backend? It seems like coc.nvim, lsp bridge, kak-lsp, and other editor solution’s i’ve come across all opt to use sidecar processes that…

This can be spun off into another thread. I haven't tried it yet but the feedback has been excellent. https://reddit.com/r/emacs/comments/ymrkyn/async_nonblocking...

Oh what a great idea! I hope this can get mainlined someday(perhaps behind a config option) since Eglot should benefit from that approach as well!
Post reply on HN