Commit graph

590 commits

Author SHA1 Message Date
ce8c40e717
nvim: Fix diagnostic toggle mappings
Finally changed the 'show line diagnostics' (opening a popup with all
diagnostics on current line) mapping to fit to the other remappings
moving 'diagnostics' to the `e` key, with `<localleader>le`.

And fixed the ability to toggle diagnostics as virtual lines with
`<localleader>lO`.
2025-12-01 10:25:59 +01:00
dc8030f905
nvim: Use snacks zen mode
Update to solely use snacks zen mode, removing both twilight and
zen-mode plugins.

For now, we switch to a personal fork of `snacks.nvim` which enables
explicit enabling and disabling of the zen mode.
If it gets upstreamed we can switch back to the regular snacks plugin.

Streamlined some snacks loading and optional lazy-loading.
2025-11-30 23:05:15 +01:00
04fc9b8017
nvim: Add optional snacks.nvim dependency for updated molten-nvim
Since the molten-nvim plugin supports setting `snacks.nvim` as
`molten_image_provider`, we add it as optional dependency.

It is _not_ enabled yet however, have to figure out how to accomplish
this from the embedded optional spec, and also fix molten-nvim before
adding more stuff to it.
2025-11-30 23:05:14 +01:00
e63681c16b
nvim: Use snacks.nvim for zenmode and papis if available
Remove dependency on 'twilight.nvim' and make dependencies on
'snacks.nvim' optional, but load it in the base plugins.
2025-11-30 23:05:14 +01:00
63c4952118
nvim: Add prompts to codecompanion plugin 2025-11-30 23:05:13 +01:00
054cbd9ff5
nvim: Update codecompanion plugin 2025-11-30 23:05:12 +01:00
4e3edc7832
nvim: Remove manual nushell tresitter installation
It is no longer necessary to manually install the nushell tresitter as a
lazy plugin spec, according to:
https://github.com/nushell/tree-sitter-nu/blob/main/installation/neovim.md

Instead we just enable the treesitter 'nu' language in the
`languages.lua` file as usual and it works out of the box.
2025-11-14 10:26:59 +01:00
40e8287213
nvim: Add fidget spinner to codecompanion 2025-10-13 11:26:21 +02:00
77d8758ded
nvim: Rename plugins folder to modules 2025-10-13 11:26:21 +02:00
7b32a7998e
nvim: Add markdown snippets to mdx files 2025-10-13 11:26:17 +02:00
30adb52d3c
nvim: Add mdx filetype support
Added suport for the mdx filetype. With the mdx.nvim plugin it will be
recognized and applied to `*.mdx` files. The plugin also associates the
markdown parser with it, and adds some queries for mdx features.

Lastly, added mdx to the list of markdown-like languages in our prose
module so plugins like render-markdown also recognize the language and
work with it.
2025-10-10 22:16:25 +02:00
36bd07a7e5
nvim: Enable markdown rendering for vimwiki and djot
The reason render-markdown was not working for either is that it
requires the markdown treesitter active for the respective language.
With this, for the filetypes in question we simply tell the markdown
treesitter to also parse these.

This _might_ be a problem in the future if the djot treesitter (which
also exists and can be enabled by TS in nvim) diverges more or some
other unforeseen change happens. For now, it seems to work fine. Might
not support all the features in djot that diverge from md? I have not
used them extensively enough to notice.
2025-10-10 22:16:25 +02:00
eb6e72c58d
nvim: Add htmx lsp and mdslw markdown formatting
mdslw will format markdown sentence-wise, in addition to 80-col width.
Let's see if it's gonna be useful or super annoying.
2025-10-10 22:16:24 +02:00
1f328d2663
nvim: Add copilot suggestions to blink
Suggestions are given at the top of the completion menu. Additionally,
since that can get really annoying really quick there have been some
changes specifically for copilot.lua:

We start with it disabled. It can be enabled with `<leader>ap` and
disabled again with `<leader>aP` for Ai>coPilot. If the plugin at some
point exposes functionality to toggle itself on/off completely I would
gladly switch to that. The current toggle command only attaches/detaches
the buffer but still runs the client in the background. This is less
desirable for me, plus it means the completions are still done
automatically in blink.
2025-09-30 14:35:49 +02:00
fcb6bcb924
nvim: Update groq models
Remove deprecated models and update to new moonshot version.
2025-09-13 13:35:06 +02:00
2bdd40ab72
nvim: Update jj-diffconflicts
Update to version which includes hiding instructions message on startup.
2025-09-13 13:35:06 +02:00
c770ea1db1
nvim: Show LLM model choices on selection
This used to be default (and according to the docs still is?) but I had
to set it manually to still show all models to select from. Perhaps
because we explicitly set 'show_defaults' we also have to be explicit
about this.
2025-09-13 13:35:05 +02:00
7730c552fc
nvim: Revert to upstream wrapping plugin
The plugin fixed my heuristics issue upstream allowing me to make use of
it again for all my writing needs.
2025-09-13 13:35:05 +02:00
7d25e371af
nvim: Remove sqruff until it is added to mason-nvim-lint 2025-09-05 09:11:08 +02:00
bd90df30e4
nvim: Turn off usage message for jj-diffconflicts 2025-09-05 09:11:08 +02:00
6578d9acce
nvim: Add zk mappings for link insertion and journal entries 2025-09-05 09:11:06 +02:00
f5c9c2d012
nvim: Add smartpaste to LLM prompts
Will paste and try to integrate _anything_ into the curent buffer. Wrong
programming language, no formatting, pseudo code, natural language instructions, anything.
2025-09-03 16:45:33 +02:00
9cca1643ac
nvim: Update codecompanion and options
Needed to be changed to wrap adapter in http table after breaking config
change.
2025-09-03 16:45:33 +02:00
9afb34fd26
nvim: Improve jj diff conflict resolution
Currently invoked via `jj resolve --tool diffconflicts`
2025-09-03 12:59:09 +02:00
51336757cb
nvim: Update codecompanion groq models 2025-09-03 12:59:08 +02:00
246c06b60b
nvim: Remove hard-coding to fzf-lua in zk-nvim picker 2025-09-03 12:59:07 +02:00
c436fe66fd
nvim: Always determine correct wrapping for wiki text files
For any files under my WIKIROOT directory I am sure that they are
textual (if they fall into the wrapping.nvim allowlist).
So we do not need to undertake the 'nontextual' file heuristic that uses
the capabilities of the language server connected. Especially since our
ZK lsp, or markdown lsp would always return the capability.

Unfortunately wrapping.nvim does not currently have the ability to
provide your own 'nontextual' heuristic, so I instead use a fork which
does and provide the correct function in the options.
2025-09-03 12:59:07 +02:00
943780c38b
nvim: Fix fzf-lua jumps shortcut
Was doubling up the `<leader>fr` shortcut which is actually to show
registers. Now correctly mapped to `<leader>fj` (for jumps).
2025-09-03 12:59:06 +02:00
0af5a2def5
nvim: Default to textwidth of 100 for markdown files 2025-09-03 12:59:06 +02:00
72f3e4877c
nvim: Default to wrapping in fzf-lua preview
By default we wrap the contents.

This will slightly worsen some coding previews, but greatly improve the
default preview for text files.
We will see if it makes sense to keep over time but this makes more
sense to me right now -- especially with zk.nvim using fzf-lua as
preview provider.
2025-09-03 12:59:05 +02:00
590a012782
nvim: Remove FIXME for fzf instant single selection
We found the correct option and it does not instant-select single result
search anymore.
So we can remove the FIXME since it is indeed fixed.

WIP: ZK workflow improvements
2025-09-03 12:59:04 +02:00
1970dc9dbd
nvim: Remove terraform lint
Linting is also done by the LSP so we double up our error messages.
2025-09-03 12:59:04 +02:00
d6ef9acb1c
nvim: Start formatter on insertion mode
In addition to just before writing a buffer, we load the formatter
plugin when entering insertion mode.
2025-09-03 12:59:03 +02:00
6b91ca2609
nvim: Add sqruff sql linter 2025-08-18 13:23:41 +02:00
6b40d1eadf
nvim: Create terraform language setup 2025-08-18 13:23:41 +02:00
7da85801b4
nvim: Add more groq llm models to codecompanion 2025-08-17 12:35:13 +02:00
782798488e
nvim: Correctly concatenate prose filetypes
Correctly append md_like and org_like into prose filetypes.
And correctly load render_markdown for all md_like filetypes.

NOTE: _Still_ does not work to render for djot on my end. Is it because
of different TS queries? I am not sure.
2025-08-17 12:35:11 +02:00
083973e7c1
nvim: Improve markdown checkbox toggling
Also given new mapping. Hit `<c-t>` instead of `<c-x>`. `<c-x>` (in
insert mode) instead now brings up the path completion which was
previously on the other mapping.

On any line in a markdown-like file (i.e. markdown, quarto, djot, etc.),
we can hit `<c-t>` in normal mode or insert mode to toggle the current
line having a checkbox or not. It takes care to leave the current item a
list item like it was if it already was filled with content.

It does _not_ remove the list item even if it is empty, this may be an
improvement for the future (i.e., empty line -> we hit <c-t> -> line
turns into `- [ ] ` -> we hit <c-t> -> line stays `- `).
But care should be taken to not remove a list item if we don't intend
to, e.g. we could have toggled part of a list beforehand and don't want
to remove the list on each toggle. That's why it is more conservative
for now and I think it should work well enough (the case is likely to be
rare in my mind).

Also, while it does pick up the extended checkbox symbols ([o], [~], [-]),
those are currently hardcoded into the query.
In my mind it should pick those up dynamically from another plugin
instead of hardcoding here, e.g. render-markdown which also defines the
symbols?

Lastly, we could extend it to use treesitter queries instead / on top if
TS is found which would make it more robust than regex matching. But for
an hour of hacking it works quite well.
2025-08-17 12:35:08 +02:00
168475a988
nvim: Stay centered in zen mode
By default we always stay centered in zen mode, like using a typewriter.
The old zen mode can still be reached with `[sZ` (capital Z).
2025-07-16 20:18:34 +02:00
368a6fcb37
nvim: Add mini.ai textobjects from lazyvim
Shamelessly stolen from http://www.lazyvim.org/plugins/coding#miniai,
allows us to select in/around:

[c]lass, [f]unction, [d]igits, MultiCas[e] words, [g]lobal buffer,
[u]sage of functions (function calls) or the last part of a function
[Usage] and the current code bl[o]ck (loop, conditional or block).

Super useful!
2025-07-16 20:18:34 +02:00
be9b5b9297
nvim: Use markdown ftplugin for djot as well
Simply import the markdown settings. We have to make use of the vim cmd
runtime (suggested here:
https://reddit.com/r/neovim/comments/ykpnob/require_one_ftpluginftlua_into_another/)
since lua requires cannot (afaik) exit the lua folder in the config
directory.
2025-07-16 17:53:59 +02:00
c26ef032d2
nvim: Add mapping to insert todo item into markdown
Use <C-x> when in insert mode and it will prepend the line with an empty
todo item.
2025-07-16 17:53:59 +02:00
02ae47781a
nvim: Add rendermarkdown todo completion source
Could be optionally set for 'blink' but since blink.cmp also displays
lsp results this is more general (and, currently, the recommended way).

Suggests task states if doing a single '-' dash at an appropriate place.
2025-07-16 17:53:57 +02:00
fb94651f4c
nvim: Add markdown todo augend toggle
Use <c-s> and <c-x> to cycle through all todo list item states. Only
works if the cursor is directly on the todo list item.
2025-07-16 17:53:57 +02:00
aade4456e3
nvim: Add todo snippets to markdown
Taken from djot snippets to allow adding a single task and multiple
tasks.
2025-07-16 17:53:56 +02:00
6ceedae571
nvim: Add djot snippets
Mostly copied from markdown, extended with single task and task list
snippets.
2025-07-16 17:53:56 +02:00
5679887739
nvim: Remap diagnostic toggling 2025-07-16 17:53:52 +02:00
4bc0ef9ed7
nvim: Enable automatic installation of DAPs with mason 2025-06-21 16:44:41 +02:00
51595b8b81
nvim: Extract debug plugins into debug module 2025-06-21 16:44:40 +02:00
020ec86481
nvim: Split up mini plugins for lazier loading
Split off base16 (instant load for themes) and starter (only load on
empty start) from rest.
2025-06-21 16:44:40 +02:00