Use the byte size as first filter instead of the size in 1KB blocks.
This way the filter is way more accurate and filters out more files
for which the md5sum does not need to be calculated.
Previously when filenames contained spaces, the function would break as
`awk {print $2,$1}` would only print a part of the filename.
The field swap was used as a workaround so that `uniq` only compares the
sizes, and `uniq` unfortunately only has a flag to **skip** fields.
Fix this issue by using a short awk script that mimics `uniq` but only
with the first field (i.e. the size).
My awk foo is unfortunately not very good, and that is why the one-liner
prints out the first duplicated line multiple time. The `sort -u` pipe
afterwards gets rid of those.
If a pattern is passed that starts with a special character, the
`[]`-"quoting" would possible lead to errors or change it's meaning.
To prevent that, pass the argument directly to grep if it looks like a
regex (i.e. contains a special character).
Instead of replacing pgrep, have this function under a slightly
different name.
Also add support for multiple arguments as the function does not aim to
be called under the same name now.
Instead of simply pointing the database to XDG_DATA_HOME, write a
wrapper function that searches for `.tmsu/db` in all parent directories
and fallbacks to XDG_DATA_HOME if not found.
Also create XDG_DATA_HOME/tmsu if necessary.
Remove `NORC` as settings like `smartcase` or my color scheme are things
I do not want to miss and the startup time delta feels negligible.
Fix a weird issue with presumably the line breaks and tabs in the
command string that would make vim send key inputs when starting through
`nvim-man`. This would lead to tmux switching panes and tmux-resurrect
failing to recover panes with vim opened like this.
Move `git-commit-last-msg` into an autoloadable function. This way it
can also be executed as external script and thus in a git alias. This
makes it additionally possible to call it in vim over fugitive's `:Git`.
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.
Wrap lines at 80 columns where appropriate and I had the energy to think
about how/where to wrap.
There are still lines longer than that, which I plan to wrap in the
future. But that is enough for now.
Add an alias that switches directories into the repository root, instead
of having the normal `cd` command behave like that.
Sadly this is not possible (AFAIK) with a git alias as that will always
spawn a subshell.