Commit Graph

320 Commits

Author SHA1 Message Date
a3e83e4844 zsh:alias:lsblk: Display all mountpoints 2025-08-07 13:10:02 +02:00
0af6c9fb24 zsh:keys: Fix override of fzf-cd-widget
This commit addresses a couple of issues:

1. fzf's `key-bindings.zsh` was sourced twice: Once in keys.zsh and once
   via the symlink in `external-plugins/`. Fix this by removing the
   source in `keys.zsh`.

2. The section about the fzf bindings in keys.zsh was a mess. Reorder
   and rewrite some comments to make it nicer.

3. My just added custom `fzf-cd-inplace-widget` does not work like this.
   Since `key-bindings.zsh` is sourced (was sourced again) after
   `keys.zsh`, my override is overridden itself by the default. I
   noticed and fixed this when I originally wrote and tested the
   function, but unfortunately I forgot the old `bindkey` commands in
   `keys.zsh`, which is why I now forgot about it and committed this
   erroneously. To fix this, bind the keys after sourcing
   `key-binding.zsh` in the newly added `fzf.key-bindings.config.zsh`.
   Additionally, move the widget definition as well to have everything
   at one place.

Fixes: 3cf445e739 (zsh:keys: Modify fzf's cd widget to be "in-prompt",
       2025-08-06)
2025-08-06 13:30:56 +02:00
3cf445e739 zsh:keys: Modify fzf's cd widget to be "in-prompt"
Currently, fzf's cd widget executes the cd command via accept-line, so
the command is also visible in the scrollback buffer. In contrast to
this, the cd-{forward,backward,up} suite changes the directory in-place,
without touching BUFFER, with an additional prompt redraw (one could say
"in-prompt"). Since I find this more appealing, overwrite the default
fzf widget with a custom one that has the same behaviour.
2025-08-06 12:30:35 +02:00
d9feb1d468 zsh:p10k: Add custom Session.vim prompt segment 2025-07-09 01:27:37 +02:00
bc0de45375 zsh:funcs: Add findup to search parent directories 2025-07-04 13:41:30 +02:00
0e7171bd5f zsh:diffcmds: Make diff_cmd overwritable by caller 2025-06-30 14:11:31 +02:00
db9aad5dcd zsh:diffcmds: Fix wrong variable assignment 2025-06-30 14:11:30 +02:00
4b5dbd161a zsh:autosuggestions: Switch to history strategy
I don't feel as if I'm actively benefiting from match_prev_cmd and it
definitely makes my prompt slower. (One could probably make it faster by
pre-calculating the history events matching the (previously) executed
command in a preexec zsh-hook and then comparing each successor to the
currently typed command instead of repeating all the work every time
BUFFER changes)

With this change my fork is not needed anymore, so switch back to
zsh-users' repo and update it while at it.

This effectively reverts 77b2d63341 ("zsh:autosuggestions: Use own
fork for now").
2025-06-24 00:06:33 +02:00
b7af03770e zsh:alias: Add TYPE column to lsblk output 2025-06-23 22:07:02 +02:00
6dcf97e249 zsh:alias: Add bytestr 2025-06-23 22:04:27 +02:00
075dbf2431 zsh:diffcmds: Clarify lseek(2) comment 2025-06-20 14:14:03 +02:00
c27bf72fee zsh:diffcmds: Slight refactor & format adjustments 2025-06-20 12:29:19 +02:00
f636479b70 zsh:diffcmds: Improve usage description 2025-06-20 12:24:17 +02:00
9ed2f526da zsh:autoload: Fix loading of symlinked functions
Only plain files were autoloaded because of the glob qualifier. Switch
to no-directories so that symlinks (e.g. git-ssh-and-https) are loaded.
2025-06-19 12:49:01 +02:00
e121743d8a zsh:options: Disable CDABLE_VARS
It annoys me too often (I always see the named directories in the
completion menu and had problems with files/folders with the same name).
2025-06-05 11:45:47 +02:00
e451fbdd22 zsh:options: Set C_PRECEDENCES 2025-06-05 11:45:19 +02:00
5212f2a217 zsh:alias: Add calculator with output in hex
I never used the old hex alias.
2025-06-05 11:42:04 +02:00
04ef69c021 zsh:rationalize-dots: Self-insert when replacing 2025-06-02 11:32:27 +02:00
f2adfbf27d zsh:conf: Set local extendedglob instead of (*)
The * parameter expansion flag was only introduced in zsh-5.9. I
currently use a system that still uses 5.8.1 and thus throws:

    conf:29: error in flags
2025-05-28 13:28:48 +02:00
9a91b464a8 zsh:alias: Add HEAD to gla
`gla` is meant to be `glog --all` without stashes. Add the missing
`HEAD` to be accurate, as it is needed when in detached HEAD.
2025-05-23 15:13:24 +02:00
68e1af0328 zsh:conf: Fix HOME fallback
Actually use `_get_config_dir`'s exit code instead of `local`'s (i.e.
always™ zero). This was broken since always.
2025-05-14 18:17:18 +02:00
4914a94ee9 zsh:conf: Stop opening ~/.config as a fallback
This has been a bug for far too long. The entries `config`, `conf` and
`config.ini` of `CONF_PATTERNS` only make sense when looking outside of
`HOME`.
2025-05-14 18:15:28 +02:00
6d5245a56e zsh:conf: Remove trailing slashes before processing
Previously when the program name had a trailing slash, `conf` would not
find the right file as it would check for filenames that include a slash
(e.g. `prog/rc`). This was especially annoying, since conf's completion
function inserts a slash automatically when subdirectories exists.
2025-05-14 18:08:19 +02:00
b722b9aaec zsh:funcs: Fix non-empty dir filter in bfs/find wrapper
The previous filter would filter out every non-regular file (e.g.
symbolic links).
2025-03-28 16:23:05 +01:00
0cb18dedef zsh:keys:cmd-on-enter: Switch until conditions
The requirement does not need to be executed if the idx wrapped around
already.
2025-03-26 00:51:19 +01:00
a9bd4585aa zsh:keys:cmd-on-enter: Take gs out of rotation
It's a bit annoying, ll is sufficient.
2025-03-26 00:50:25 +01:00
1d2e24cf4d zsh:autoload: Make $d local 2025-03-25 11:07:13 +01:00
2363545489 zsh:autoload: Allow nested directories
As well as wrapper in subdirectories.
2025-03-25 11:07:12 +01:00
cd54c3dfed zsh:autoload: Load wrapper only if command exists 2025-03-25 11:07:12 +01:00
e956b8955e zsh: Remove chpwd-readme hook
The hook was never added since the `functions` array was misspelled. I
fixed that and left it turned on the last few days and absolutely hate
it. No idea why I ever thought that this could be nice.
2025-03-13 14:32:02 +01:00
90b64a8603 zsh:keys: Remove duplicate cd-up definition
I forgot that this was already a thing before d961daf38 ("zsh:keys:
Change one dir up on `^U`") and missed that I only moved the function in
the file instead of creating it (the changes were lying around a bit).
2025-02-19 15:18:05 +01:00
d961daf384 zsh:keys: Change one dir up on ^U 2025-02-19 14:01:24 +01:00
a053efa93e zsh:keys: Mention AUTO_PUSHD for cd-{back,for}ward 2025-02-19 14:01:24 +01:00
d57ee922c9 zsh:funcs: Add find() wrapper analog to bfs()
Only difference is that it places a trailing slash behind (empty)
directory names to differentiate them better. bfs does this already.

TODO: Bring these together into one function that checks $0
2025-02-05 16:53:14 +01:00
ed2b9e760c zsh:bfs(): Make sure that std{out,err} are ttys
When piping its output, I want the normal behaviour.

Also swap the if and else branches for better readability.
2025-02-05 16:53:14 +01:00
f60d25e47c zsh:bfs(): Don't print non-empty dirs by default
I sometimes use find (nowadays bfs) to get an overview of a directory.
In that case I want the output to be as short as possible.
2025-02-05 16:53:13 +01:00
767e5f3019 zsh:rmdir(): Don't change PWD when removing fails 2025-02-05 16:53:13 +01:00
202a0c1437 zsh:alias: Remove mbsync XDG config alias
mbysnc looks for $XDG_CONFIG_HOME/isyncrc
2025-01-30 11:46:11 +01:00
9271350aab zsh:keys: Fix non-existing mapping of vi-kill-word
vi-kill-word does not exist. This change was lying around uncommitted
for ages now.

Fixes: 658797bda2 ("zsh:keys: Use `vi-` variants of navigation binds")
2024-11-06 13:56:27 +01:00
22b774b839 zsh:nameddirs: Unset the right variable 2024-11-05 22:18:09 +01:00
724430979c zsh:nameddirs: Only set ws/ss when they exist 2024-11-05 22:17:40 +01:00
1ffd31d585 zsh:keys: Use (A) flag instead of hack to split LBUFFER
This way better solution using the `(A)` flag was given to me in the
zsh-users mailing list back in 2022 but I forgot to apply it.

See zshexpn(1):

> Convert the substitution into an array expression, even if it
> otherwise would be scalar.

Thanks Mikael!

Link: https://www.zsh.org/mla/users/2022/msg00668.html
2024-10-30 16:19:58 +01:00
4ec1e81873 feh: Use theme configuration file instead of alias 2024-10-22 19:01:45 +02:00
e85f13def7 zsh:alias:feh: Add --start-at flag
I found this in feh's .desktop file and liked the idea:

With `--start-at` feh will load all files from the directory of the
given file and start the filelist at the given one.

This of course breaks easily if I want to pass more flags before the
file argument, but is easily fixed by first specifying the argument to
`--start-at` and continuing with the rest. I also rarely use any flag
besides the one already defined in the alias.
2024-10-22 18:46:14 +02:00
442a1c1bdc zsh:keys: Make ^E work in vicmd too 2024-09-21 01:06:32 +02:00
35422b6fc4 fzf: Use bfs for ALT_C_COMMAND if available 2024-09-21 01:04:44 +02:00
9d756c2748 zsh:alias: Add duration that formats seconds 2024-09-20 16:29:51 +02:00
ae626e9e90 zsh:alias: Change gr alias to git reset
I had multiple occasions where I thought that `gr` would resolve to git
reset. I should switch to using `gri` for a rebase.
2024-07-25 11:52:18 +02:00
ec4bb20625 zsh:alias: Add TODO note to fragile rm condition 2024-05-12 21:00:12 +02:00
f000b53882 zsh:alias: Only add flags to rm, not aliased trash 2024-05-12 20:57:04 +02:00