diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-12 10:09:35 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-12 10:09:35 +0200 |
| commit | 268bccd204b79fc779cecbb3a6bd695ded7f4f46 (patch) | |
| tree | 8f401a1020a0161bcd9400f952a4b8e7af4e4544 | |
| parent | 3a54b1f4a4c80aa7d5d663ff49e299029e1dfccf (diff) | |
| parent | bbbefd772833d8ba660e7b520a475d988b111c03 (diff) | |
Merge branch 'master' of codeberg.org:snonux/dotfiles
| -rw-r--r-- | fish/conf.d/fzf.fish | 28 | ||||
| -rw-r--r-- | fish/conf.d/tmux.fish | 17 | ||||
| -rw-r--r-- | prompts/sharable.md | 39 |
3 files changed, 67 insertions, 17 deletions
diff --git a/fish/conf.d/fzf.fish b/fish/conf.d/fzf.fish new file mode 100644 index 0000000..8156c11 --- /dev/null +++ b/fish/conf.d/fzf.fish @@ -0,0 +1,28 @@ +# fzf.fish is only meant to be used in interactive mode. If not in interactive mode and not in CI, skip the config to speed up shell startup +if not status is-interactive && test "$CI" != true + exit +end + +# Because of scoping rules, to capture the shell variables exactly as they are, we must read +# them before even executing _fzf_search_variables. We use psub to store the +# variables' info in temporary files and pass in the filenames as arguments. +# This variable is global so that it can be referenced by fzf_configure_bindings and in tests +set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)' + + +# Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings +fzf_configure_bindings + +# Doesn't erase autoloaded _fzf_* functions because they are not easily accessible once key bindings are erased +function _fzf_uninstall --on-event fzf_uninstall + _fzf_uninstall_bindings + + set --erase _fzf_search_vars_command + functions --erase _fzf_uninstall _fzf_migration_message _fzf_uninstall_bindings fzf_configure_bindings + complete --erase fzf_configure_bindings + + set_color cyan + echo "fzf.fish uninstalled." + echo "You may need to manually remove fzf_configure_bindings from your config.fish if you were using custom key bindings." + set_color normal +end diff --git a/fish/conf.d/tmux.fish b/fish/conf.d/tmux.fish index 4fe5b24..c8c9906 100644 --- a/fish/conf.d/tmux.fish +++ b/fish/conf.d/tmux.fish @@ -41,6 +41,7 @@ function tmux::project end set -l git_dir ~/git + set -l tmp_dir $TMPUTILS_DIR set -l index_age 0 if test -f $TMUX_FZF_GIT_INDEX @@ -58,6 +59,14 @@ function tmux::project find $git_dir -maxdepth 4 -type d -name .git \ | sed 's|/.git$||' | sed "s|$git_dir/||" \ | grep -F -v . | grep -v gitsyncer-workdir | grep -v upstream >$TMUX_FZF_GIT_INDEX + # Add top-level directories from TMPUTILS_DIR (non-git) + if test -d $tmp_dir + for d in (ls $tmp_dir) + if test -d $tmp_dir/$d + echo "tmp/$d" >>$TMUX_FZF_GIT_INDEX + end + end + end end set -l matches (grep "$filter" $TMUX_FZF_GIT_INDEX) @@ -67,7 +76,12 @@ function tmux::project else set session (printf "%s\n" $matches | fzf) end - cd $git_dir/$session + if string match -r '^tmp/' $session + set -l real (string replace -r '^tmp/' '' $session) + cd $TMPUTILS_DIR/$real + else if test -d $git_dir/$session + cd $git_dir/$session + end tmux::attach $session end @@ -141,6 +155,7 @@ alias tx 'tmux::remote' alias tl 'tmux::search' alias tssh 'tmux::cluster_ssh' alias tp 'tmux::project' +alias tpr 'tmux::project::reindex' alias notes 'cd ~/Notes; tmux::attach notes' alias N 'cd ~/Notes; tmux::attach notes' alias bar 'tmux::new bar' diff --git a/prompts/sharable.md b/prompts/sharable.md index 26ffabb..c4e1e49 100644 --- a/prompts/sharable.md +++ b/prompts/sharable.md @@ -1,18 +1,25 @@ # Sharable prompts -./commands/commit-and-push-to-git.md -./commands/create-command.md -./commands/create-context.md -./commands/create-skill.md -./commands/delete-command.md -./commands/delete-context.md -./commands/delete-skill.md -./commands/load-context.md -./commands/update-command.md -./commands/update-context.md -./commands/update-skill.md -./commands/review-changes.md -./skills/go-best-practices/ -./skills/increment-version-and-push/ -./skills/purge-file-from-git/ -./skills/taskwarrior-task-management/ +commands/commit-and-push-to-git.md +commands/create-command.md +commands/create-context.md +commands/create-skill.md +commands/create-tasks.md +commands/delete-command.md +commands/delete-context.md +commands/delete-skill.md +commands/load-context.md +commands/review-changes.md +commands/update-command.md +commands/update-context.md +commands/update-skill.md +commands/work-on-tasks.md +skills/100-go-mistakes +skills/auditing-code-quality +skills/beyond-solid-principles +skills/c-best-practices +skills/go-best-practices +skills/increment-version-and-push +skills/purge-file-from-git +skills/solid-principles +skills/taskwarrior-task-management |
