Most important addition: we now have :smile!
The :smile command is there, but the feature seems to be broken. It does not smile.
I consider neovim as a great example of how to “modernize” classic Unix software while still staying true to what attracts people to it.
Personally, I dislike most language servers; I find them to be slow and heavy, just like most IDEs.
There are notable exceptions. gopls and rust-analyzer tend to have decent performance.
Tree-Sitter support is great, and so is the improved Lua functionality. I’ve moved some of my init.vim to lua files, and might eventually go 100% lua. Lua is the first language I really cut my teeth on (I worked on some Minetest mods) so it has a special place in my heart.
Can someone tell me more about what tree-sitter does? I have it enabled but still not sure about the breadth of its functionality.
From what I understand it can parse source code into syntax trees which help with things like syntax highlighting. Does it do more than this?
It can also provide text objects and symbols which other tools can use.
Once you have syntax trees you can do a ton of things like accurate text-objects (ast-objects?), indentation, folding… Most of the things that are currently done with regexes that can fail could be done with a tree-sitter that wouldn’t.
Makes sense. Thanks a lot.
Also the linked article has well written info about tree-sitter. I should have checked it before asking.