Since we have extracted changes into private repository, change the files
containing them into templates so they do not get overwritten by branch
changes.
Since I am already using fidget.nvim for lsp notifications, might as well use it
for other, more explicit ones. Removed nvim-notify in favor of this since I like
how unobtrusive the notifications are (and let's be honest, most you don't need
to pay attention to, instead they just take you out of flow).
Changed some colors, some keymaps and made it more flexible for new mail
account setups. Also removed most of the static gmail-related account
stuff since I don't need this in my public repo.
Made detection and setup a little more stable, will still have its kinks since
it is rather hastily put together but should work for detecting kernels,
invoking the right python repl and letting you set it manually with `py -c`.
These are the redirects that made the most trouble for me, and honestly I
do not think wikipedia really belongs in the same category of 'necessary
to redirect' surveillance pages like reddit,instagram or twitter.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.