When switching the current buffer to the Zettelkasten index page
(`<leader>ni`), we now also switch the working directory to the
corresponding notes directory.
The redirector can now be fed with either a list of targets to pick from
(as before) or a "farside" entry which points to a farside service
redirect or multiple.
The dict entry then looks like:
```python
"quora": {
"source": ["quora.com"],
"farside": ["quetre"],
}
```
It has the source service url as usual, but then instead of a "target"
entry contains a "farside" entry.
A redirect dict entry can take both "target" and "farside" entries, but
will then always give precedence to farside choices.
This should go a long way in helping keep OSS frontends up to date. It
now mostly depends on farside entries in turn being updated.
One potential concern is the new centralization in relying on farside as
the redirect authority.
Synchronizes a git repository for the taskwarrior data directory,
automatically committing any changes after each command; and pushing and
pulling on syncing taskwarrior.
Apparently marking subsections like `[section.subsection]` (toml-like)
is deprecated in the configuration. This commit fixes this by using the
recommended `[section "subsection"]` syntax.
See: https://git-scm.com/docs/git-config#_syntax
Fixed taskopen script not opening the correct numbered task
when passed one (either on the command line with `to <id>`
or through taskwarrior with `t <id> open`).
Now it does directly open the correct note.
Added atuin for nice shell history. Trying it out for now
but seems non-intrusive enough that I will probably keep
it for a while even if I don't use it.
Switched terminal environments (bash,zsh,nushell) to starship
prompt (from pure-prompt/no prompt). Is mimicking the pure-
prompt however, so no big change visible. Needs additional
package on the system, which is added to the packages.
Some remaining issues with nushell (vi prompt indicator).
Setting `vim.g.disable_autoformat` to true will disable automatic linting globally,
though I have not set up commands or mappings for manual linting. It is also
missing buffer-local linting which could be copied from buffer-local formatting.
Moved loading and setting up file watching to the loading of the plugin itself.
Will make it a little more self-contained and not crash or complain if we are
missing the plugin.
HACK
At the same time, reverted back to pinned base16 commit since the new one did
not work again. Gotta figure it out at some point but no time now.
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.