Nushell lsp is now integrated directly into the 'nu' command. This
update stops mason from trying to install a 'nushell' LSP and simply
activates the nu-internal LSP if it finds the correct executable
instead.
Fixes #1ef7570.
We implement our own autostart-aware lsp register function. Any lsp
which has the option {autostart=false} set at their config root will be
not automatically enabled and can instead be enabled on demand.
We now have the usual 'undone' ([ ]) and 'done' ([x]) states, but
express 3 further ones that are _somewhat_ standardized:
- [o] this one is 'doing', in-progress
- [-] this one is 'indeterminate', we're not sure
- [~] this one is 'deleted', never to be done
Makes the plugin less intrusive (will now only autocomplete on <M-p> or
<leader>ap). Can select suggestion with <M-]> or <M-[>, and accept with
<M-p> in-text or <CR> in-panel.
Still automatically started when invoking CodeCompanion chat.
Should return the mason environment for lsp servers to be able to set it
in the 'core/languages.lua' list.
However, currently it is initialized too early (I think), before
mason.nvim, and thus never gets the initialized env var.
So far if LSP declarations in 'core/languages.lua' were duplicated (e.g.
the 'astro' filetype and the 'vue' filetype both declare the
'typescript' lsp), one would simply overwrite the other. That is fine as
long as there is no custom setup, but if there is one of them is lost.
This commit changes it so that the different configurations extend each
other. The 'latter' one still overwrites the former but this is just
what must happen if there should be conflicting setups.
May increase loading time slightly.
Since it is technically vim-internal (and relatively rarely used unless
to debug things), I have moved the shortcut for this function from
`<leader>sh` (show-history) to `<leader>vp` (vim-print-messages).
The 'p'-suffix is a little unfortunate but currently h/H/m are all taken
in this vim-internal submenu.
The reasoning behind this is that the 'show' menu is intended primarily
for user-facing, middle-of-work tasks and windows that help me
accomplish goals when actually working and getting things done.
Showing the fidget history does not do that, but allows
introspection into the vim editor history. So, it should accordingly
live under the 'vim' menu. Additionally, it frees space in the
'show' menu and lets me/the user forget about the functionality
until it is needed.
Allows quickly listing and working with taskwarrior tasks from within
neovim. Show a floating `:NeoWarriorOpen` window with `<leader>sw` or a
vertical neowarrior buffer with `<leader>sW`.
Though ostensibly compatible with typst, there is a show-stopping issue
with the main image.nvim fork which means an error message whenever
there is more than one typst buffer open (e.g. two side-by-side, or
opening a fzf-lua windows with typst previews, and so on).
Until that is fixed, use this fork. Issue here: https://github.com/3rd/image.nvim/pull/280
Everything is working well again with newer versions of blink-cmp. And
the development velocity is crazy, we are already two major versions
ahead. Some breaking changes but seemingly nothing that my relatively
simple configuration is affected by.
All additional languages features (LSPs, treesitter parsers, linters and
formatters) are now defined in a single place in 'core/languages'.
This file simply sets up a big table which contains all the enabled
programs and parsers, divided by type. They adhere to the structure
given by the respective plugin.
HACK: We are still cheating a bit currently for treesitter parsers since
I have not had the heart to go through all of them to
activate/deactivate what I could need. Most of them are simply still
loaded, not connected to a specific language. Will have to be sorted out
at some point but it is good enough for now.
Was not installed correctly, and neither set up correctly. Now should be
fully working, with objects targeting Functions, Loops, Conditionals,
Statements and (nushell) Pipelines.
Seems to have since been transferred to nvim-treesitter group ownership.
Probably still worked under the old link, but better to be safe and use
the up-to-date source.
Have gotten LSP, Linters, Treesittesr into one list under core/languages
Missing formatters still, then it's done.
Using external luarocks instead of a luarocks plugin for now. The amount
of dependencies to install is not smaller the other way now (having to
install libreadline-devel) so this should be fine.
I have captured more info in daily log 2025-03-11 on my reasoning.
Suffice it to say: both lazy.nvim 'hererocks' installation, this
external luarocks dep and the luarocks.nvim plugin are brittle in their
own ways.
For now, I have settled on the external dependency as it remains the
simplest way to achieve what I want (image.nvim) pictures. Though it
requires quite a few dependencies overall:
`xbps-install lua51 lua51-devel luarocks-lua51 ImageMagick libmagick-devel`
Updated plugins. Forced blink.cmp to stay on version 0.11.x since 0.12.x
versions have a new `exact` match comparator which breaks my config.
See <https://github.com/Saghen/blink.cmp/releases/tag/v0.12.0>.
This is perhaps a bug in the interaction with the nvim-cmp compatibility
layer, but for now we can just pin back the version until it is fixed.