For some reason I don’t understand, I thought I might try out emacs again 16 years after I decided I hate it. I like using hot keys and shortcuts more now, so maybe that’s it.
When I looked at the emacs page, I learned that there are different “flavors” (GNU emacs, Xemacs, etc.). What do folks use and is there really a noticeable difference? Does the julia emacs extension even work with other versions?
Aside from the Julia extension, are there any others that make learning (especially!) or using emacs easier?
I use doom emacs with emacs 29.1.90 on macOS. Julia works well with the packages julia-ts-mode, julia-repl, and lsp-mode. This is based on the excellent work by @Ronis_BR , @Tamas_Papp and others. Please take a look at this repo for notes and a doom config which works well on macOS.
I’m also interested in seeing if people are using different things. I have been using the basic gnu/emacs with very few modifications for around 2 years and I still consider myself pretty awful at it but I prefer it to using bloated text editors. On Linux, by the way.
I’ll take the opportunity to plug my own Julia IDE for Emacs project, Julia Snail. It uses a network bridge to make Emacs and Julia talk to each other (like SLIME for Common Lisp and CIDER for Clojure). This lets it do useful things like evaluate code in Julia buffers in the context of the current module. It also has completion and code navigation support, without requiring LSP (I was going for minimal dependencies and configuration).
No Windows support, alas, as Windows terminal emulation in Emacs is dicey. Some day, Snail will get a native Elisp Julia REPL, but that day is far off.
This invokes the function julia-repl-set-terminal-backend once when the library julia-repl is loaded. Adding julia-repl-set-terminal-backend to the julia-mode-hook makes Emacs invoke it each time you activate julia-mode.