Is there some change you're particularly concerned about wrt to setup complexity? Lots of the changes might simplify setup because they build in functionality that previously required plugins. The LSP improvements mainly apply at the interface between LSP server and editor, not stuff that users would set up themselves. A bunch more changes are either behind-the-scenes performance improvements, or are directed at plugin authors. There are new features added. But I don't see anything that makes set up more complicated.
comments
There are lots of substantial improvements coming! I'll point to some points that appeal to me personally that aren't big enough to make headline news given how much else is coming.
Neovim also adds:
vim.treesitter.select()for starting or adjusting visual selections based on syntax-tree nodes.
AST-aware editor interactions are something I've really been missing since leap-ast.nvim was archived. Maybe there's a good plugin for quick selections or text objects based on AST structure that I haven't gotten around to trying. But I'm looking forward to built-in building blocks!
Edit: Wow I'm dense - leap-ast was archived because Treesitter integration is now built into leap.nvim.
Neovim now exposes a logging interface:
vim.log
Sounds like a quality-of-life change that will be real nice to have when you want it! I hope this will replace my uses of print(vim.inspect(...))
There is now:
:bcdfor setting a buffer-local current directory.
I've been surprised in the past that this wasn't possible before.
And finally, the :restart command to apply your updated editor config while preserving your open buffers and windows!
Nice features, but this article is pure slop.
:D well.... you can always use a distribution like lazyvim and chill
At this point we need a bootcamp to setup our editors first before we have the bootcamp/course for the actual language/work we want to accomplish.
Well, congratulations on neovim graduating the university of complexity! Emacs was the chief guest.
Thanks for sharing with the community! I share a pretty similar setup, so I thought you may be interested in my LSP, linting, and formatting auto management.
It should start a clip of subway surfer of Minecraft parkour.
Ah, it's one of those "Herobrine has been removed" easter eggs, except it's more "Hitchhiker's guide to the galaxy" flavor, what with the 42 reference.
I'm actually interested and plan to try it later. I wish I knew where some cool ultra wide screen savers were and maybe some KDE Plasma dot files.
Not to be confused with lunarvim, the preconfigured vim who's development suddenly stopped last year.
Fair enough.
I'm taking about the Lemmy post. There is no clue what this is without clicking.
The first sentence is “I wrote another neovim theme, this one called Luna.nvim.”
Luna.nvim
For those wondering, this is a theme. Idk why that's not mentioned anywhere in this post.
Aah, cheers for the clarification. I skimmed the github link in the original post, but it mostly seemed like people were happy, and I'd not heard anything about treesitter so it kind of came out of left-field. :)
People acting entitled to the time of volunteers is bananas.
The project was archived back in April. I assume there were multiple incidents along the way, but the final straw was the discussion in this thread:
https://github.com/nvim-treesitter/nvim-treesitter/discussions/8627#discussioncomment-16440673
Basically it is just people demanding things from open-source developers and behaving like shit while doing so. These guys don't have any respect for the work other people do for free in their spare time.
I use a lot of open-source software, but I usually don't interact with the developers. Whenever something like this happens I feel like we as a community should show our love and appreciation for these projects a lot more, so that devs don't burnout due to this loud minority full of negativity and sometimes just plain harassment.
What happened to it?
because ‘j’ isn’t a jump motion (:h jump-motions). Even with a count before it, while it acts like a ‘jump’, it’s only a modifier to multiply ‘j’ [count] times
rustaceanvim is a batteries included rust-analyzer integration. i don’t do any configuration past install. the expandMacros function is one i use a lot, but it comes with a lot of extra stuff for different workflows.
This comment is really solid. Exactly what I do, but I also have a bunch of QoL plugins. https://codeberg.org/dannyfritz/dotfiles/src/branch/master/mini
Thanks for the tips! I will try later once I sanitize my nvim installation once again. And good thing you mentioned, auto complete does sounds like something I might eventually want
For rust_analyzer I use nvim-lspconfig, you can also configure it by hand, but it's less work with lspconfig.
https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#rust_analyzer
And I would install the treesitter-grammar for rust. https://github.com/nvim-treesitter/nvim-treesitter
The Plugin was archived, but it still works. You can also install the treesitteer grammar with your package manager and just activate it in nvim, if you don't want to rely on an archived plugin.
That's mostly it, for what you asked for.
I also use blink for autocompletion, but I think it's a good idea to start smaller and see what you need later. https://github.com/Saghen/blink.cmp
I love an easter egg in my docs
Neovim plugin authors forget one simple rule - plugins are supposed to plug in. Instead they write libraries.
I’ve been forking plugins I’m unwilling to get rid of and rewriting them to not require setup. It eliminates a lot of config complexity.
What worries me is that the same people that contribute to this mess are getting more and more involved with neovim core development. require.enable({ enabled = true}) is a recognizable [anti]pattern.