mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 19:32:43 +00:00
feat(config): integrate iris and streamline keybindings
This commit is contained in:
1 parent
43dfe48848
commit
0692ae332b
15 files changed
+268
-137
No files matched your search
@@ -1,7 +1,7 @@
|
||||
# ~/.config/bash/keybinds.bash — readline ports of the television keys in
|
||||
# fish_user_key_bindings.fish / zsh keybinds.zsh:
|
||||
# ctrl-o → gho (ghq-repos cable, cd) ctrl-e → tv git-files (nvim)
|
||||
# ctrl-p → pj (pj cable) down → pj on an empty prompt
|
||||
# ctrl-p → pj (pj cable)
|
||||
# ctrl-t → tv smart autocomplete (tv init bash ships no ctrl-t)
|
||||
# Keys owned by kitty.conf never reach the shell: ctrl-h/j/k/l (pass_keys.py).
|
||||
#
|
||||
@@ -19,12 +19,12 @@ _kb_git_files() {
|
||||
}
|
||||
bind -x '"\C-e": _kb_git_files'
|
||||
|
||||
# ctrl-p, and down on an empty prompt. pj reports through $PJ_STATE: `open`
|
||||
# = cancelled, `ran` = a task printed output, empty = no task sources.
|
||||
# ctrl-p. pj reports through $PJ_STATE: `open` = cancelled, `ran` = a task
|
||||
# printed output, empty = no task sources.
|
||||
_kb_pj() {
|
||||
local state
|
||||
state=$(mktemp) || return
|
||||
PJ_STATE=$state pj "$@" </dev/tty
|
||||
PJ_STATE=$state pj </dev/tty
|
||||
[ "$(<"$state")" = open ] && _kb_up
|
||||
rm -f "$state"
|
||||
}
|
||||
@@ -66,21 +66,6 @@ bind -x '"\C-x1": _kb_gho'
|
||||
bind -x '"\C-x0": _kb_restore'
|
||||
bind '"\C-o": "\C-x1\C-x2\C-x3\C-x0"'
|
||||
|
||||
# down: the pj cable on an idle, empty prompt, otherwise history search
|
||||
# (fish's _pj_bind_down). bind -x can't call readline functions, so _kb_down
|
||||
# rebinds \C-x5, which the macro sends right after it.
|
||||
_kb_down() {
|
||||
if [ -n "$READLINE_LINE" ]; then
|
||||
bind '"\C-x5": history-search-forward'
|
||||
return
|
||||
fi
|
||||
PJ_QUIET=1 _kb_pj
|
||||
bind '"\C-x5": redraw-current-line'
|
||||
}
|
||||
bind -x '"\C-x4": _kb_down'
|
||||
bind '"\e[B": "\C-x4\C-x5"'
|
||||
bind '"\eOB": "\C-x4\C-x5"'
|
||||
|
||||
# ctrl-t: pick with the channel tv guesses from the text left of the cursor
|
||||
# (shell_integration.channel_triggers) and insert the picks there, quoted.
|
||||
_kb_tv_autocomplete() {
|
||||
|
||||
Reference in new issue
Block a user