Commit graph

1497 commits

Author SHA1 Message Date
4f67a6d3ca
nvim: Fix which-key conditional usage if not loaded
The only left-over which-key invocation which did not check for its
existence beforehand.
2024-06-07 09:56:55 +02:00
57f2fbd5fe
nvim: Replace vim-easy-align with mini module
Mini.nvim now also comes with an align module which perfectly mimics
the behavior of my beloved junegunn vim-easy-align plugin. It is almost
sad to see such an old friend go, but ultimately it removes a redundant
plugin and switches the setup ever so slightly more towards being lua
based.
The mini module also allows more advanced lua-based modifier pattern
shenanigans but so far I don't need any of the advanced stuff: I just
need a quick way to align markdown tables and similar, and this one does
exactly the same as before, only with a couple nice additional options
and previews. It still uses the same key chord `ga<where>` but also
offers `gA<where>` which apparently comes with a nicer preview. My
fingers will probably stick to the former for the time being.

One thing that changes is that, by default, it will align *all*
separators not just the first instance on each line. To mimic the old
behavior you can, in alignment mode, hit `f` to enter a filter and enter
`n==2` to get the same result as default vim-easy-align (the first pair
of delimiters are aligned).
Also it comes with some nice extra functionality like trimming
whitespace by just hitting `t` when in alignment mode
2024-06-07 09:50:26 +02:00
5c4afcb0b3
nvim: Update plugins 2024-06-06 22:36:16 +02:00
94c2d83c86
nvim: Fix trouble for major version update
Fixed for new invocation usage and removed deprecated commands.
Added telescope functionality (to push results into trouble) though I am
not quite happy with the close coupling yet. Have not found an easy way
to only have this mapping be created if trouble exists.
2024-06-06 22:32:27 +02:00
1771a61334
nvim: Use peek for markdown preview where possible
On machines that have deno installed, we use peek instead of
markdown-preview for html-based previews of md files. The preview is
more responsive and in a neater package, as well as just not relying on
any vim plugin stuff to the same degree.
We still fall back to the old markdown-preview if no deno executable is
available.

We also change the key maps slightly to prepare for future 'prose' or
'preview' based mappings: All mappings are registered under the
`<leader>p` layer, with md preview being `<leader>pp` and various
mindmap operations moved to `<leader>pm`.
2024-06-06 20:50:37 +02:00
b69548fa38
nvim: Load nvim-surround as VeryLazy
This fixes the somewhat confusing issue of trying to use any of the
surround operations before entering insert mode at least once in a file
(so, probably as the first operation). Before, the plugin would just
silently fail.
Now it simply loads very lazily, which does not affect load times
strongly.
2024-06-06 20:45:53 +02:00
f8dfe7d856
neomutt: Fix index and attach display
Some macros ceased to work. I am not sure if it was because they
were deprecated and stopped working with a new version or they
never fully worked in the first place. Either way, now it is
running again.
2024-06-06 17:40:25 +02:00
663bcd8436
khal: Add weeknumbers to interactive display 2024-06-06 17:39:33 +02:00
4ad9590830
repo: Update packages 2024-06-06 17:39:05 +02:00
8748b66344
nvim: Switch python lsp to basedpyright
Switched pyright to basedpyright as it adds a couple noteworthy
rules and some functions that are otherwise exlusive to pylance.

Especially useful for me are semantic highlighting as well as
inlay hints (now that nvim supports it from 0.10 onwards).
2024-06-06 16:23:44 +02:00
4697e09472
nvim: Ensure pythonPath setting always finds entry
LSP attachment would complain if it did not find an existing dict to
access in the `settings.python` section of the python lsp dictionaries.
This fixes that by creating an empty dict if nothing exists yet,
essentially functioning as null-check.
2024-06-06 16:23:43 +02:00
b37650ac03
nvim: Re-enable femaco plugin
Since it in fact works wonderfully now, we re-enable FeMaco, allowing to
edit codeblocks in markdown-like environments (but really anywhere) by
simply invoking `<localleader>ce` ('codeblock-edit').

The mapping is only active in markdown and quarto files for the time
being, though more can probably be added.
The command itself works anywhere (`:FeMaco`), so can be used in racket
or norg or whereever.
2024-06-06 16:23:42 +02:00
989081abfc
nvim: Only register markdown which-keys if available
Check for availability of which-key plugin before setting up layer
key descriptions.
2024-06-06 16:23:41 +02:00
405af0f020
nvim: Move util to core.util module
Moved all utility functions from their own directory into
the core functionality direcotyr as a single file.
2024-06-06 16:23:41 +02:00
e939305df3
nvim: Update plugins 2024-06-06 10:25:08 +02:00
7fd32f873a
nvim: Change cmp results order and icons
Made lsp and LaTeX icons a little less obnoxious,
and fixed order to better load more pertinent results.
2024-06-06 10:12:24 +02:00
434974284a
nvim: Fix flash for search and operator pending
flash.nvim was activating on searches which, while perhaps useful
for some people, was not for me. It stops the (incremental) search
as soon as no valid target exists which drops you back into normal
mode while still typing out the search and thus doing
who-knows-what.

The operator pending mode for the original jump mapping has been
removed to allow the 'surround' mappings from mini plugin to
always work correctly (`ysiw`, `csaw`, ...).
2024-06-06 09:58:25 +02:00
cb21789f3a
nvim: Add mapping for inlay hints
`<localleader>li` will show inlay hints if they are available
for the active LSP server.
2024-06-06 09:45:34 +02:00
c03b88c6cc
nvim: Formatting 2024-06-06 09:43:20 +02:00
7eeeb9e85d
sh: Add clear and rerun function
Added simple function to clear the screen but additionally re-run the
last executed command.

Mirroring my clear screen alias `cl`, this one is executed with `cll`
(clear-and-last) currently.

It comes in useful for me every now and again because I sometimes just
need a quick way to get rid of 'clutter' on my terminal (e.g. running
multiple rg invocations after each other, or diffs, or anything that
spews a bunch of stuff on screen and I want to find specific things
afterwards).
I am very used to running `cl` and then the second to last history item.
This makes those additional keystrokes unnecessary.
2024-06-05 12:10:26 +02:00
b8cbc8bc5d
vifm: Add simple file and folder diff command
The newly added `:cmp` command can compare the contents of either two
files or two directories.

Works in two ways: If nothing is selected, compares the currently
hovered-over object with that in the other pane.
If things are selected, compares those instead.
2024-05-28 21:39:47 +02:00
54f553f75c
sh: Prefer vimiv as image viewer for iv alias
Simply prefer vimiv over other potential image viewers installed.
2024-05-28 21:34:00 +02:00
dfcd7cc1a5
qutebrowser: Add boardgamegeek search engine shortcut
Added `bgg <searchterm>` to quickly search the website for boardgames.
2024-05-28 21:27:17 +02:00
418670790e
nvim: Update rainbow brackets for deprecated ts modules
Since treesitter is deprecating modules we switch to the new fork of the
plugin which works without any use of treesitter modules.
A painless switch since I only use the default settings of the plugin
anyway.
2024-05-28 18:31:43 +02:00
3cc2e34a94
mpv: Update uosc 2024-04-20 09:27:09 +02:00
6defdd3f33
kanshi: Fix screen names for new kernel 2024-04-20 08:40:56 +02:00
b2d7666b07
sioyek: Add toggle map for dual paged mode
Using `d` we can toggle between single paged and dual paged mode,
only works in the dev version for now.
2024-04-19 11:34:29 +02:00
a2d60202b9
vifm: Fix tabular data visidata opening and preview
Tabular data was only opened in visidata if it was a csv file,
now we also correctly open xlsx, tsv, and even json files.
Also do not display an extra file title in the tabular previewer
since we already know which file we are pointing at to gain some
space.
2024-04-19 11:33:42 +02:00
cddf8618ce
vifm: Add markdown icon to quarto files
.qmd files now also display the markdown symbol.
2024-04-19 11:32:07 +02:00
719d019ee3
qutebrowser: Add redirects for goodreads, twitch
Added privacy-aware redirects for goodreads (biblioreads) and
twitch (safetwitch). Safetwitch unfortunately requires
javascript enabled but is still heaps lighter of a website
than the official streaming one.

Farside does not offer redirects for these services yet so we
keep a manual list to redirect to for the time being.
2024-04-19 11:31:38 +02:00
ab4a0154c6
qutebrowser: Fix scihub script to use wikipedia
When looking for the most up-to-date link to grab a scihub url
we used to use wikiless but now simply directly scrape from
wikipedia.
Functionality is not changed but should work much faster and
more reliably.
2024-04-19 11:30:12 +02:00
1e7e6f082d
nvim: Refactor linter and formatter loading
Put them into tables next to each other in preparation for more
dynamic module loading.
2024-03-01 10:37:25 +01:00
bbe972cfc2
nvim: Fix mini mapping descriptions 2024-03-01 10:36:35 +01:00
b0aabf719a
nvim: Add lsp references preview window
Add 'glances.nvim' plugin which shows the LSP references, definitions and
implementations in a very nice floating preview window. (Previously we
used Telescope which is still called if the glances plugin does not
exist.)

Can preview, scroll in the floating window, go to the destination, open
the destination in vert/horiz splits.
2024-03-01 10:36:16 +01:00
fcaaba9e8d
nvim: Improve auto spellfix mapping
If the cursor was on the very first letter of a word it would fix
the misspelled word instead - now it should stay and fix the
current word under cursor instead.
2024-03-01 10:33:36 +01:00
69da2610f4
qutebrowser: Add oss redirect for askubuntu 2024-02-24 09:42:30 +01:00
da8a9a02f9
nvim: Update spellfile 2024-02-24 09:13:39 +01:00
8f71703a4a
ncmpcpp: Hide unnecessary library info
Hide the years that ncpmpcpp always adds to the library albums, and
don't split them by date. Also importantly use 'album_artist' to
sort the corresponding artists instead of just 'artist' since beets
will often sort the individual acting artist for the latter, pulling
apart single songs from larger albums.
Lastly, add a 'data_fetching_delay' (of I believe 250ms) when quickly
scrolling through the artist/album list so it goes a little smoother
when loading data from remote sources.
2024-02-24 09:13:02 +01:00
6c6b01a822
river: Add shortcut to open papis library items
Added 'Mod+Shift+L' as shortcut to open the associated file of a
papis library item. May make more sense in a dedicated river
mode but for now is good enough to get an overview of papis items
and open them if needed. Could also probably use an equivalent
of 'open edit file' and 'open note if exists' but again -
let's see how much I use it first.

Takes a second to open with my library size.
2024-02-24 09:10:37 +01:00
ffededb995
river: Fix wallpaper screen order
Since reorganizing my screens we have to switch the output
order of wallpapers. Would be really useful to be able to
talk to `swww` like kanshi with the full screen ID instead
of just the output number for wallpaper setting.
2024-02-24 09:08:44 +01:00
572f7b29a4
nvim: Switch lightspeed to flash
Flash.nvim provides a very tasty remote editing functionality which lightspeed
does not. Otherwise it behaves *mostly* the same. For now, I have the flash
search label functionality activated (default) but if it is annoying I will
turn it off (It injects labels into the normal neovim search. So if you search
a word and want to go directly there, you just press the label key as part
of the search and it jumps there. This might be problematic if I quickly type
something that does not exist but it picks up a non-existent letter as label
instead.)

Otherwise, the remote editing functionality is activated by
<operator>r<label><movement>, such as `yr<label>iw` to yank inside a word
somewhere else and stay at the current position. Similarly for example
`cr<label>$` to change from the label to the end of the line and then jump
back to the original position and so on.
2024-02-18 11:14:37 +01:00
4c5d18d7e4
nvim: Change lualine design
Slightly adapt lualine to not have arrow section/component dividers,
but simple slanted lines. Gets rid of a tiny bit of noise while still
clearly subdividing the sections for me which I need.

Also, removed displaying the hostname. I know which host I am on
generally, and rarely make use of it so it's just unnecessary info
for me.
2024-02-18 10:24:46 +01:00
ab123a4c36
wezterm: Allow toggling tab bar display
Tab display can be toggled on or off with `Ctrl+Shift+T`. The toggling
takes place per-window and not globally, so we can have a wezterm
terminal on desktop 1 with a tabbar and on desktop 2 without. Opening
a new terminal always defaults to an enabled tab bar.
2024-02-16 11:01:41 +01:00
0c7ad09789
nvim: Move mini configuration into core plugin file
Since I would like to keep my plugin configurations as modular as possible
I think it is a good first step to move the mini configuration directly
into the core plugin file where mini is loaded. Since this is the plugin
spec I want to take to basically any nvim installation I have, having it
in a single file makes it much easier to be portable.
2024-02-15 09:02:39 +01:00
7c37baa565
nvim: Move toggleterm out of core plugins
Toggleterm, as nice as it is, is not one of my core dependencies.
I do not 'need' toggleterm on every nvim installation I have. Instead,
it can go into ui-related plugins since that is what it does, extend
nvim's UI functionality with new terminal dropdowns/floats.
2024-02-15 08:53:55 +01:00
9fb1f958e6
nvim: Remove fixed term sigwinch timer 2024-02-15 08:52:14 +01:00
1d0f47f2e8
flavours: Check for nvim plugin existence in template
Checks that mini.base16 plugin exists before executing its setup,
and checks that lualine exists before executing its setup.
2024-02-15 08:47:50 +01:00
1d70d0c649
nvim: Switch starter screen recent files order
First show recent files of the current directory, then follow up with
general recent files.
2024-02-10 14:14:17 +01:00
89ea7e9cf2
nvim: Switch to mini operators plugin
Removed vim-exchange which, while an amazing functionality, is also
exactly replicated in mini.nvim (along with even more operators).

Uses slightly different mapping - not `cx<movement>` anymore but
`gx<movement>`. But this actually makes sense and fits in well with
my other g-prefixed operators (`gc` for comment and `ga` for align).

It is also the prefix for the other additional operators supplied
by mini.operators: `gs` for sorting text, `gm` for multiplying,
`gr` for replacing, `g=` for evaluating.
2024-02-10 14:07:07 +01:00
044eedea32
neomutt: Add ics to calendar by printing it
By invoking 'print' for ics files from neomutt we can simply
add it to our local calendar directly from the interface.
Neat little 'cheat' to provide custom functions for specific
file types.
2024-02-10 13:41:30 +01:00