Recently I set up a virtual machine running GNU/Linux on Windows, so that I can continue to use Emacs and all my usual tools for developing software, while I am waiting for a friend to make a move in a turn based game. I decided to give Doom Emacs a try. Well, I like the keybindings so far. However, it got issues. When I use neotree, it gets confused with windows (the Emacs term "window", not desktop windows, or the…
FWIW emacs these days has native LSP support (eglot) and native tree-sitter supported, but you'll need to grab tree-sitter libraries and LSP servers. For MacOS I found just using brew to install most of these works great, and I wonder if Windows can't work the same way. If you're in a VM you should just be able to have your package manager do the work.
LLM support in emacs is still a bit primitive but there are packages like emacs claude-code that are changing things. Personally I wrote an elisp function which grabs the filename of the emacs window relative to the project root and copies it so that I can just paste it into claude code and have it ask questions or do things.
```
(defun copy-buffer-file-name-from-project-root () "Copy the relative path of the buffer in this project to the kill ring" (interactive) (kill-new (file-relative-name (buffer-file-name (current-buffer)) (project-root (project-current)))))
```
if you're curious but depending on how you have your clipboards setup with the kill ring, you may need to modify this.
---
As far as fighting the JS fight on the Zed website, well, I think this thread isn't one of those upvote-anti-JS-rant threads that spring up on this site all the time so shrug.