Commit graph

1604 commits

Author SHA1 Message Date
b6687145bd
git: Make git diff termcolor aware
Added simple light/dark distinction for git diffs using delta.
Will use the TERM_DARK env variable which is set in the base
module functionality on opening a new term.

This means unfortunately git diffs will have the wrong color
when terms recently changed between light-dark but on opening
a new one the error is gone and it automatically adapts again
to the terminal background color.
2023-12-12 12:19:41 +01:00
62ec2799c8
git: Add side-by-side diff
Added a simple alteration of diff viewing to also be feasible side-by-side in
addition to the default (delta) diff viewing mode.
Use aliases `gdd` (and `gdds` for staged) to enable.
2023-12-12 12:17:19 +01:00
13c87f365d
git: Add difftastic syntax diffing
If difft command is installed we can git diff on syntactic changes only
using `gdy` (or `gdys` for staged) which will spit out a (treesitter)
syntax-aware side by side comparison.
Really nice for refactoring diffs.
2023-12-12 12:15:51 +01:00
d459d79de0
nvim: Update spellfile 2023-12-12 12:11:03 +01:00
1e47459801
nvim: Add endwise plugin to treesitter
Will automatically add function end tags for a bunch of languages, most importantly
for me to lua and bash.
2023-12-12 12:11:02 +01:00
ea7b2e632e
nvim: Configure image.nvim lazyness
Set up to load on the file types it affects.
2023-12-12 12:11:01 +01:00
c550a9d514
nvim: Move Molten info toggle to vim-meta key group
Moved mapping from `<localleader>cI` to `<leader>vn` (for molteN).
2023-12-12 12:11:00 +01:00
ea224ebbc1
nvim: Lazy load zen-mode, nvim-cmp
Correctly lazy load nvim-cmp as much as possible.
Loading it with certain events but also before lsp.
See here: https://github.com/hrsh7th/nvim-cmp/discussions/688#discussioncomment-1891544
2023-12-12 12:10:34 +01:00
eec90ad7e2
nvim: Add automatic mason tool installation
Using mason-tool-installer we ensure everything is installed correctly.
Need to improve the collection of things to install. Currently we just
do everything in lsp configuration file, even the non-lsp things
(formatters/linters) which should be sourced where they belong not
in that file.
2023-12-12 12:10:33 +01:00
ab06ef922b
nvim: Replace null-ls with nvim-lint
Fully replaced null-ls. Will need more tweaking on the nvim-lint setup but
works generally for now. Works well in tandem with conform formatter.
2023-12-12 12:10:32 +01:00
5ccf8bc1fc
nvim: Add formatting expression and more filetypes 2023-12-12 12:10:28 +01:00
bad6200bd2
nvim: Move Mason quick mapping to plugin setup 2023-12-12 12:10:27 +01:00
49692601da
nvim: Change Lsp info mapping to vim layer
Moved the mapping to show lsp info window from `<localleader>li` to
`<leader>vs`.
Local leader +l mappings should be reserved for lsp functionality,
while we have a whole +v layer to grab (meta) information about our
vim installation. It fits in there much better.
2023-12-12 12:10:26 +01:00
293dc8a467
nvim: Add conform.nvim formatter
In the process of moving away from null-ls, added formatting with the help
of conform.nvim. Brings one new command, :ConformInfo which can also be
reached via `<leader>vc`.

AutoFormat on saving remains disabled by default but can be enabled with
:FormatEnable (and disabled again with :FormatDisable) or quickly through
`<localleader>lL`.

Manual formatting works like before with `<localleader>ll`. Uses the
formatters set in the plugin (similar setup to null-ls before) but
automatically falls back to lsp formatters if it does not have its own
and lsp has one enabled.
2023-12-12 12:10:25 +01:00
1def627edd
nvim: Turn off treesitter highlights in big files
Files above 1000 lines, 300 linelength or really big filesize.
2023-12-12 12:10:15 +01:00
7f112816b0
nvim: Remove TSPlayground plugin
Has been superseded by internal functionality, just run `:Inspect` or
`:InspectTree`.
2023-12-12 12:09:58 +01:00
5d8177b1b5
nvim: Update +show mode mappings and descriptions
Mappings preceded by <leader>s 'show' something so removed a lot of the 'toggle'
wording from their descriptions.

Subsumed the toggleterm toggles under this menu since they 'show' a term window
(lazygit or ipython).
Changed Aerial mappings to show navigator by default (`<leader>so`) and the
sidebar outline only on capital version (`<leader>sO`) since this mapping is
used less often.

Removed broken molten-image setup.
2023-12-12 12:09:30 +01:00
8d9b67cb04
nvim: Add Trouble.nvim plugin to quickly show diag 2023-12-12 12:09:29 +01:00
c487da69a8
nvim: Add molten and image.nvim plugins
Image nvim works mostly well (slow on wezterm but that will always be the case
with kitty protocol for now as far as I know).
Would love to be able to toggle images on/off dynamically but I don't see a
way to accomplish that now. (or really, get to any option of the plugin).

Molten itself also works well - the output is displayed more nicely than for
the Magma plugins and everything continues working mostly well (or rather,
just as wonky as I had it set up on my older magma install :)

For now, the molten - image.nvim integration seems to not work at all -
it simply errors out when it would produce an image as output. No clue why
and it also complains about the wrong image provider (which I have taken from
the molten readme). No time to bugfix now but maybe at some point.

To do - find a much better way of installing the image.nvim required
luarock magick - done manually with hardcoded path in setup now

Also extended the old `py` alias to a full-blown script which will in
addition to detecting the python repl also find any running molten
session for the current directory (i.e. any running jupy kernel) and let
the user choose the right one if there is multiple. Will then default to
starting a kernel-aware repl environment (euporia or jupyter-console).

Added a very simple `-c` option which lets you choose python command to
run manually.
2023-12-12 12:07:41 +01:00
297f2c87a3
nvim: Update plugins 2023-12-05 18:01:15 +01:00
55a8a18feb
nvim: Fix spelling language
Accidentally put the wrong british language into the global spell setting.
Now it uses the correct one.
2023-12-05 18:00:32 +01:00
4d886e7e6d
nvim: Add experimental nushell lsp and treesitter
HACK
Added support for nushell lsp (not yet available to automatically install
through mason integration) and for nushell treesitter (VERY manual
installation as of right now).

Will work for testing out the shell and its nvim integration but
definitely has to be integrated better in the future.
2023-12-04 09:28:22 +01:00
78f7112c11
nvim: Update plugins 2023-12-04 09:27:03 +01:00
80f2afb1cf
vifm: Add alt file opening, option cycling mappings
Added cycling through (command mode) options with C-p/C-n since
I am used to doing this.

Added a quick short mapping to `o` to show all file openers
defined for the current file and be able to select one.
2023-12-04 08:42:56 +01:00
5941f6f77a
vifm: Extend fzf mapping functionality
Extended functionality to work in current directory with lower-case
letters and from home directory using upper-case. So, <leader>f
will search files in current dir, <leader>F in home dir.
Same for <leader>d/D and <leader>w/W.

HACK Also made it use fd instead of find by default for the speedup.
This should probably only be done after detecting if fd is even installed
on the system but I do not have time for this right now.
2023-12-04 08:41:24 +01:00
9bd4a80be8
qutebrowser: Update reddit redirects
Updated reddit redirects once again.
Will soon have to figure out a different way of
approaching the lib- redirections with so many
services blocking/throttling/shutting down the
FOSS frontends. For now, I will bear with it.
2023-12-04 08:38:35 +01:00
e90d1c9c39
vifm: Remove compatibility options
Removed the compatibility options set by default in vifm, which has 2 large
effects:
Will remove the default tab mapping to switch panes. I re-enabled it
for now since it has become somewhat part of my muscle memory but I believe
it is better to have it as an explicit mapping which I can change than
hunting for this option somewhere down the road.
Second, it makes dd/DD/yy behave very differently, *only* working on the
currently highlighted file. To operate on the currently selected files
like previously one uses ds/Ds/ys instead. I want to re-train my muscle
memory for this instead since it will make my usage more flexible in the
future. There is also dS/DS/yS for operating on non-selected files instead
which is even more flexible.
2023-12-04 08:36:43 +01:00
eeca1f3817
zsh: Remove path deduplication
Aside from some more needed things, the path deduplication function is
the most time-consuming invocation on zsh startup, taking almost
100ms on my system.

Perhaps it would be reasonable to re-introduce when the first invocation
from path is occurring but it is simply too much time taken for each
time I start a new shell instance for now.
2023-12-04 08:32:49 +01:00
3bd67eab3d
vifm: Add toggle icon mapping 'ti'
Added mapping to toggle classify prefix icons on or off quickly
using my semi-established 'toggle' submenu with the mapping
`ti` (for toggle icon).
2023-12-04 08:31:01 +01:00
b712d456dd
vifm: Move devicon classify setting into separate file
Will be sourced on startup and provide basically the same icon prefix
as before. Made sure to not invoke 'classify+=' too often since each
invocation slows down vifm startup a little.
(see: https://github.com/vifm/vifm/issues/542)

With it being sourced externally we can now do fun things with classify
itself and it is easier to update from the rest of our settings.
2023-12-04 08:29:33 +01:00
4cc03a611a
sh: Add default open script
Simple wrapper for xdg-open functionality. Simply refers
to xdg-open except if there exists mimeo on the system
which it will refer to instead.

So, a simple preference modificator for mimeo over
xdg-open since that is my preference too.

Also gave it a short name so I can do open whenever I
want and don't have to tax my left hand with tying xdg.
2023-12-04 08:26:59 +01:00
dfaed8c9dd
nvim: Update plugins and spellfile 2023-11-15 14:25:09 +01:00
0d26c245ae
qutebrowser: Update invidious redirects 2023-11-15 14:24:27 +01:00
6dd7f5b39a
sioyek: search case insensitively by default 2023-11-15 14:23:45 +01:00
b45296765a
nvim: Hide virtual-text diagnostics on insert
When writing something we often want to ideally hide the long comments
added to the end of any line in-progress as virtual text currently.

This simply adds an auto-command to hide when entering and show again
when exiting insert mode, simple but hopefully useful.
2023-11-15 13:28:35 +01:00
c3fe4cdc58
nvim: Add mapping to toggle buffer diagnostics
If you want to hide buffer diagnostics for any reason, there is now a
quick mapping reachable through the usual lsp submenu: `<localleader>lo`
(I suppose the mnemonic would be 'lsp off').

It toggles them enabled and disabled and only affects the current
buffer.
2023-11-15 13:22:19 +01:00
5e2239ac10
repo: Remove leftover gitlab ci instructions 2023-10-23 10:29:20 +02:00
e4b560cc7f
flavours: Target new sioyek version
Sioyek features an option to set the background color for normal
operations (`background_color`) and for custom color mode
(`custom_color_mode_empty_background_color`) separately since this
commit:

0c2251b1be

Here, we change flavours to *only* target the custom color mode, leaving
the normal background color as it is.
This will not work yet for the current official sioyek 2.0 release which
is still the release for archlinux as of 2023-10-16, but it will already
work for its git release. Should work for everything as of the next
official sioyek release.
2023-10-16 11:26:31 +02:00
835acd40ab
multimedia: Move access tokens to dotter templating
Moved usernames and passwords into local variables in dotter
to be able to commit the files nonetheless. Thus makes use
of dotter templating for beets and mopidy.

Empty example configuration can be found in local.toml in the
dotter directory.
2023-10-12 09:19:31 +02:00
662549b6b0
bat: Add quarto and ino to synatx-enabled
Quarto now uses markdown syntax and ino files use C++ syntax
highlighting.
2023-10-07 11:32:00 +02:00
8be40f5630
nvim: Update plugins 2023-10-05 18:28:15 +02:00
5f0f7f22ef
sioyek: Always open new windows
Do not open multiple pdf files in the same window, but open
a new window for each file opened (there is no way to
display multiple open pdf files side-by-side otherwise).
2023-10-05 18:28:04 +02:00
378541df7e
sioyek: Add mappings for page/highlight movement
Added hjkl mappings to scroll within pages. Added movement
between highlights with `]h/[h`, although I am not sure it
works in both directions with these mappings.
2023-10-05 18:27:13 +02:00
558b0fa479
sh: Enable FRX options for less by default
Since we generally want color in our less output, and
no paging if there is only one page we can should be
able to enable these regardless of situation.
2023-10-05 18:25:57 +02:00
117b692dae
nvim: Map zenmode to global show/hide toggle group
Mapped de-/activating zen mode to <leader>sz which means it belongs
to the '+s' group of mappings which generally activate or deactivate
showing something in nvim.

Previously belonged to <leader>vz which rather is a group changing
something about nvim configuration itself.
2023-10-05 18:24:07 +02:00
0a686ab647
nvim: Add mapping to enable British spell check
Updated mappings to enable spell checking slightly: <ll>ZZ enables all
languages (german, us, gb) <ll>ZE only US spellcheck, <ll>ZB GB
spelling and <ll>ZD German spelling.
2023-10-05 18:22:11 +02:00
681e35b92c
nvim: Add markdownlint diagnostics to md, quarto
Added markdownlint. Will be used by default on markdown and
quarto filetypes.
2023-10-05 18:20:00 +02:00
29ff9db62b
nvim: Pin base16 plug to last working version
HACK base16 plugin changed something in its internal application
of highlights so that not all highlights get correctly applied
when my nvim setup boots up. Have to investigate.
2023-10-05 18:19:20 +02:00
0acfe2d5d0
git: Add word-wise diff as quick alias
Since I often use git for prose and textual writing, wordwise
diffs make a lot of sense to have quick access to. This commit
sets up a git-internal alias `git diffword` as well as an
even shorter `gdd` (diff) and `gdds` (diff staged) which
mimic the other diff aliases `gd`/`gds` already existing.
2023-10-05 18:09:48 +02:00
1040c82bea
dotter: Fix wrongly templated file 2023-10-05 18:07:29 +02:00