Update the function to use the current `.git/modules/` structure, by
only using the basename of the path.
I am not sure when this was changed and too lazy right now to find it
out.
Add a 'resize mode' that behaves similar to the one in my i3 config.
When pressing the binding `<prefix>r`, a new key-table is selected that
allows resizing with `hjkl` as well as choosing the different layouts
directly over the number row.
Do not exit automatically the copy-mode when reaching the bottom. This
was especially annoying/dangerous when holding `C-d` down to scroll to
the bottom.
As relative line numbers are only really needed in normal mode and in
the current buffer, disable them in insert mode or when the
buffer/window is not focused.
Fix the issue that the vim config would always be reloaded on save
(jumping to the BOF; another TODO) even in non `*.vim` buffers, after a
vim file was opened once in the session.
Fix this by defining the autocmd only local to the current buffer.
See also :help autocmd-buflocal
Since 5258b5ed4217 ("zsh:funcs:suffix: Support quotes), all special are
escaped anyway (including whitespace), making it unnecessary to quote
the names extra.
While trying to handle whitespace in the suffixes the support for
passing multiple suffixes broke.
This should now support multiple suffixes as well as included
whitespaces.
Find files that end with one of multiple given suffixes.
Usage:
suffix sfx... [-- path...]
`sfx` is given to `find` in the form `-name "*$sfx"`.
`path` is given as starting point to `find`, defaulting to `.`.
I forgot to reindent part of the function after moving the
if (( $+commands[shellcheck] ))
check into the function. Before it was wrapping the function definition.
Move `signoff` out of the 'external' subsection as the script [got
replaced by the native way][1].
Update 'external' subsection's comment as it does not contain only zsh
functions.
[1]: bb21c4df7844 ("git: Replace git-signoff with `rebase --signoff`")
Move all submodules that were under .config/ into .local/share/ (alias
XDG_DATA_HOME). I got convinced that they feel out of place in .config/.
Instead of updating the paths from which they are sourced (e.g.
`TMUX_PLUGIN_MANAGER_PATH` or `packpath`), keep a symlink in the old
location that points to the new one. This has the benefit that
everything related to one program remains mostly accessible from the
same place instead of spreading everything out.
I am still unsure if I really like the new location as I affiliate user
**data** more with something that has to be backed up as it is
non-recreatable. And moving them out of .config/ had the reasoning that
they are not my config files but rather data from the internet that
could be retrieved when deleting. But using XDG_CACHE_HOME seems
unreasonable as well.
We'll see.
Move the fzf-repo from ./local/bin/ to .local/share/.
Update all relative symlinks' (e.g. fzf) targets.
Remove the vim modeline that sets the filetype to `i3`, as I do not have
a i3.vim filetype plugin. Now it is recognized as `ft=conf`, providing
at least highlighting of strings.
Move `git-track` into its own autoloadable function.
This way it is better maintainable as in one-liner format and brings the
possibility of having more complexity (e.g. for better portability).
By that it is also now executable as `git-spull` as well as `git spull`
as before.
Fix the commit reference mapping `<leader>grc` in the case that nothing
follows the commit hash on the line. In that case the join would add a
trailing space.
`gJ` is not suitable as that would break in the other case that text
follows. When splitting the line behind the commit hash, the space in
front of whatever follows is deleted. Thus when joining everything
together at the end, there would be no space between the closing
parentheses and the rest.
Using the `system()` was the only solution I found to insert the subject
directly behind the hash without destroying the formatting and the text
behind it.
For this to work the trailing newline had to be cut off of git's output.
Remove `-g` as it was put in place for a better experience with the
search pattern that `less` was started with.
Readd `-F` as it was explicitly unset when the search pattern was
introduced.
Do not readd `-X` as I like output that is too long (e.g. `log`, `show`)
to be kept in alternate mode and out of my scrollback buffer.
See:
- 17433d0528 ("git:core.pager: Remove the search pattern")
> This gets really annoying as it complains in many cases that it cannot
> find a match for the pattern when the pager is used for other things
> than commits.
- 093c3a6f9c ("git: Highlight current match in pager")
- 7e0e0f5baf ("git: Enable jumps between different files in diff")
> Jump between file sections and commits by using n and N. Taken from:
> https://github.com/so-fancy/diff-so-fancy/blob/eef379ee43f/pro-tips.md
>
> Remove FX flags since they are incompatible with the pattern search:
> When showing a small change that fits on less than the screen height,
> the rest of the screen is filled with ~ lines instead of quitting the
> pager. This behaviour is annoying and thus the flags are deactivated.
> Since git adds them per default they have to be explicitly disabled.