Commit graph

2077 commits

Author SHA1 Message Date
23cb8d32e5
nvim: Add spider plugin for better web key movement
Improves the 'subword' and punctuation jumps of the w/e/b keys, by
adhering to snake_case and CamelCase words and jumping to subparts of
them, as well as ignoring 'useless' punctuation when jumping.
2025-12-12 23:47:50 +01:00
585a48ff94
nvim: Add mapping to flash.nvim current word
Use <S> to jump to any word that is the same as the current word under
the cursor using flash.

Moved the previous flash treesitter binding and updated it to
`treesitter_search` so any word in the current buffer view can be used
as starting point for a tresitter-based selection. Mapping moved to <R>
as is (somewhat) mimics the <yr...> remote-based mappings for flash.
2025-12-12 23:47:50 +01:00
ab3a104a85
nvim: Move flash.nvim and spellsync out of base modules
Since flash, while integral to my day-to-day editing is not about
providing a _base_ to other plugins, but editing, it moved to the
editing module.

Spellsync is only really useful in a prose context in my workflows, so
this is where it went.
2025-12-12 23:47:49 +01:00
b7d2fdea3d
nvim: Add csvview for tablelike csv files
Gives a very nice viewing and editing experience for csv files. Not sure
what the performance impact is for bigger files, but certainly is worth
it for the smaller ones.
Automatically switches on the view for `.csv` and `.tsv` files.

Additionally, adds some keymaps whenever a csv-like file is loaded (i.e.
when the `CsvViewEnable` mode is on):

<s-j> and <s-k> to traverse up and down rows, <s-l> and <s-k> to
traverse columns left and right. Adds a 'field' textobject (`if` and
`af`), though only a single field can currently be changed at once.
2025-12-12 23:47:49 +01:00
8b2f9b6815
zsh: Add transient prompt
As an experimental change (and following my adding a transient prompt
for nushell which I like), this change adds a transient prompt plugin
for zsh. It then defines the 'tansient prompt' prompt to use starship so
functionally nothing should change about the prompt (or the rprompt),
except for being transient, showing only a character for previous prompts.

From: https://github.com/starship/starship/issues/888#issuecomment-3597694479
2025-12-12 09:50:41 +01:00
b6e84bbc99
zsh: Add fzf-tab manpage preview for commands
If a command has a manpage associated, we now display it in the
fzf-preview box that fzf-tab completion shows.
2025-12-12 09:50:40 +01:00
4b720464ff
nvim: Add floating terminal toggle mapping
Follows logic of other toggle maps for neovim, i.e. <leader>tt for
buffer-term and <leader>tT for floating term.
2025-12-12 09:50:39 +01:00
cf544e4740
zk: Check WIKIROOT before adding n alias for zk
Since this function also requires a WIKIROOT to be available in the
environment, we should only define it if that variable is not empty --
just like all the other zk aliases and functions.
2025-12-12 09:50:39 +01:00
6aa8aefe0e
nvim: Add vectorcode codecompanion extension
Installs vectorcode (the cli program) using uv (if `uv` is available on
the system), to provide a RAG tool for your repositories. Can then be
used in codecompanion to provide better coding feedback.
2025-12-12 09:50:38 +01:00
42f2b034b5
zsh: Change autosuggest strategy and max size
New combined strategy will first gather suggestions from the history,
and if none are found fall back on normal completion options (e.g. `ls `
may suggest files in current dir, etc).

Also changed the max size that completions will use as buffer to 20, so
we don't have auto suggestions for _huge_ scripts anymore.
2025-12-12 09:50:38 +01:00
e643a2e45d
zsh: Ignore commands starting with pass for history 2025-12-12 09:50:37 +01:00
d9c88d99f3
zsh: Reverse alias expansion between space and ctrl space
Previously, <space> would expand any alias and all environment
variables while <c-space> would simply put a normal space on the zle
without performing any expansion.

This change reverses this, so that nothing gets expanded by default
_but_ if the user wants to specifically expand something the option
exists to simply use <c-space> to see the expanded version.
2025-12-12 09:50:37 +01:00
5c565b61e1
nvim: Fix codecompanion-history option setting
Missing encasing opts table so the options were ignored, now added.
2025-12-12 09:50:36 +01:00
1c96ea6d81
nvim: Add superhtml lsp
Added html LSP 'superhtml' (only works for HTML5) and also use it for
formatting html (and 'shtml') files, replacing prettier.

Superhtml seems faster at formatting html and allows switching between
single-line and multi-line tags by adding/removing a space in front of
or behind an html tag, very nifty.
2025-12-12 09:50:36 +01:00
f4c439d58e
nvim: Fix nvim log spam
The logging directory in `~/.local/state/nvim/` is absurdly large in my
setup currently.

The prime culprits are `wrapping.nvim` which logs each heuristic
currently, and I've simply disabled logging for.

The bigger one is `lsp.log` which is over 1GB (!) currently, and over
100.000 of those lines were generated by the `htmx-lsp`. That's fair
since it is in early development, so I've removed it for the time being.
2025-12-12 09:50:35 +01:00
d0103297c7
qutebrowser: Fix double start page configuration 2025-12-12 09:50:35 +01:00
7003fe992f
qutebrowser: Add function to remove floating elements
Primarily used to get rid of cookie banners or
'subscribe-to-my-newsletter' annoyances.
2025-12-01 10:26:00 +01:00
9159ea177d
qutebrowser: Add cookie and social button blocklists 2025-12-01 10:25:59 +01:00
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
726c7cf9c0
nu: Add jj aliases 2025-11-30 23:05:16 +01:00
dc71f747da
nu: Copy basic sh aliases
Held back a little by the issue that you can't really set aliases
conditionally (yet?) in nushell, which is kind of fundamental to my
zsh/sh alias setup. If a program exists, we add some nice aliases -- if
not, we simply degrade gracefully and don't add anything.

PR to track issue:
https://github.com/nushell/nushell/issues/5068
2025-11-30 23:05:15 +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
4bea6507c0
wezterm: Add key to detach selected pane into new window
`<leader><c-s-Q>` activates the pane selector and lets you decide which
pane to detach from the current _window_ and move to a new one.

This mirrors the `<leader><c-q>` mapping moving a pane to a new tab,
only 'bigger', thus using shift in addition.

The binding is a little awkward, but with how rarely I have needed to
use it this was fine for me so far.
2025-11-30 23:05:12 +01:00
bfecbdcd59
nu: Add space prefix to keybind commands to prevent history adding
To prevent adding any of the keyboard-binding driven commands to the
user's command history, we simply prefix all of them with a single
space.
2025-11-14 14:15:04 +01:00
b305be8ad0
nu: Add partial auto suggestion completion
The suggested history completion on the reedline (i.e. fish-like
autosuggestion) can be fully completed with the `l` key in vi cmd mode.

This change adds the ability to complete the suggestion partially by
completing the current word using `e`. If no history suggestion exists
it moves to the end of the current word as usual.

This mimics the partial completion I have set up in zsh with the help of
the `zsh-autosuggestions` plugin.
2025-11-14 14:15:04 +01:00
26e8cc3ccc
nu: Add job control shortcuts
Using <c-z> when a process is running backgrounds it (default behavior)
using the new nushell job control system (since v0.103).
This change also lets you re-foreground the backgrounded program with
the same <c-z> key mapping.

Additionally we add the `fg` alias which does the same and thus mimics
the fg command of other shells like zsh.
2025-11-14 14:15:03 +01:00
37cc1a3d83
nu: Enable transient prompt
Enabled transient prompt for nushell so we only display the line
character and attempt to display command durations for past prompts.

Not sure if command duration is working correctly. If not, might have to
revert this change.
2025-11-14 14:15:03 +01:00
ae5470a5d8
nu: Add fuzzy tab completion, remove nvim hardcoding
Removed the buffer editor hardcoding to 'nvim', should use the EDITOR
env var instead.

Added the (currently undocumented?) config option to enable fuzzy
completion matching - essentially enables exactly the behavior the
'fzf-tab-complete' plugin does for zsh, only natively in the nushell
program.

See: https://github.com/nushell/nushell/issues/1275#issuecomment-2964573062
2025-11-14 14:15:02 +01:00
07d36e3132
starship: Restyle continuation prompt
When entering multiline commands, display a slightly more pronounced line
prefix so we can recognize faster that it expects more input.
2025-11-14 14:15:01 +01:00
b6e3af4593
taskwarrior: Split today alias into scheduled and due
`td` will display things that are either due today or in the past, or
scheduled today or in the past.
`TD` will _only_ display things that are explicitly due today or in the
past.
2025-11-14 10:27:02 +01:00
f514ebe008
starship: Enable terraform and typst modules
Explicitly enable terraform and typst version displays (if in directory
with terraform state files or .typ files for typst), and change the
symbol for the typst module to a feather (which is much nicer than the
plain 't' it would display otherwise).
2025-11-14 10:27:02 +01:00
51fd5b51c7
nu: Remove startup banner
Now that we can see at a glance which shell we are running with a
starship shell indicator, we don't need the huge nushell startup banner
anymore.
2025-11-14 10:27:01 +01:00
7f2520ece5
starship: Add shell indicators for bash and nu
Added little single-character displays at the front of the prompt if we
are in a shell different from zsh to remind myself (since they all look
exactly the same with starship).
2025-11-14 10:27:01 +01:00
c1eb686cd3
nu: Add sudo toggling key
Toggle sudo prefix for command line with <alt-s>. Not sure if I will
keep this binding in the long run but it is a good example of command
execution using nushell through a key binding.

From: https://github.com/nushell/nushell/discussions/16043
2025-11-14 10:27:00 +01:00
56916f90d1
nu: Add dot-repeat key mapping
We have to manually enable the <a-.> keybinding for nushell, which
emulates the 'insert last token of last command' functionality of e.g.
zsh.
2025-11-14 10:26:59 +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
72f0651bd9
services: Refactor goimapnotify default variables 2025-11-14 10:26:58 +01:00
9548bb3441
aerc: Change mail folder with menu 2025-11-14 10:26:58 +01:00
0ce2c1b7da
jj: Add raw log command alias
Added `jlr` which, contrary to all the other jj log commands simply
gives quicker access to the actual raw `log` command for custom
operations.
2025-11-14 10:26:57 +01:00
24120f55b2
sh: Use relative alias for cat command
Fixes https://github.com/carapace-sh/carapace-bin/issues/2971
until the merge is in the new release version.
2025-11-14 10:26:54 +01:00
acc2496bd6
terminal: Move bash and zsh into config directory
With the power of dotter for dotfile management we can move the files we
want to link anywhere in our repository.

So finally we're making use of it to keep the bash config files in the
`terminal/.config/bash` directory, as well as removing the leading dot
from both the zsh configuration files.
2025-10-13 11:26:22 +02:00
fa7e740249
terminal: Add fzf file insertion and zoxide cd key binds
The following is added to all three shells bash, zsh, nushell:

Pressing c-t at any time lets you insert a file/dir at the current
cursor location using fzf. Same for 'T' in vicmd mode.

Pressing alt-c at any time lets you jump to that directory using zoxide,
with the zle editor content intact. Same for 'C' in vicmd mode.

Zsh implementation from: https://github.com/ajeetdsouza/zoxide/issues/357
Bash implementation: https://github.com/ajeetdsouza/zoxide/issues/516

Nushell implementation taken from: https://github.com/junegunn/fzf/issues/4122

TODO: Nushell fzf mapping has one problem in that it does not quote the
selected file in any way. So any file with e.g. a space in it will have
to be manually fixed afterwards.
2025-10-13 11:26:22 +02: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