diff options
| -rw-r--r-- | autoload/files.kak | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/autoload/files.kak b/autoload/files.kak index 5754bc3..f4ebd9d 100644 --- a/autoload/files.kak +++ b/autoload/files.kak @@ -6,15 +6,20 @@ def file-manager -params .. %{ terminal-singleton files env "DAFFM_PATH_RELATIVE_TO=%val{client_env_PWD}" daffm -c @kak %arg{@} } +def findfzf %{ + terminal-singleton fzf sh -c 'kcr edit $(fd -t f --hidden --color=never -E .git | fzf --multi --min-height=100 --preview=''bat --color=always {}'')' +} + declare-user-mode file map global user f ': enter-user-mode file<ret>' -docstring 'File mode' map global file f ': find ' -docstring 'Find files' map global file n ': file-manager %val{buffile}<ret>' -docstring 'File manager' +map global file F ': findfzf<ret>' -docstring 'Fzf' declare-user-mode buffer -map global user b ': enter-user-mode buffer<ret>' -docstring 'Buffer mode' +map global user b ': enter-user-mode-with-count buffer<ret>' -docstring 'Buffer mode' map global buffer b ': buffer ' -docstring 'Switch buffer' -map global buffer <ret> ': buffers-show<ret>' -docstring 'Show buflist' +map global buffer <ret> ': buffer-jump %opt{user_mode_count}; buffers-show<ret>' -docstring 'Jump to buffer' map global buffer n ': buffer-next; buffers-show<ret>' -docstring 'Next buffer' map global buffer p ': buffer-previous; buffers-show<ret>' -docstring 'Previous buffer' map global buffer d ': delete-buffer; buffers-show<ret>' -docstring 'Delete buffer' @@ -31,3 +36,11 @@ def buffers-show %{ } } +def buffer-jump -params 1 %{ + evaluate-commands %sh{ + if ! [ "$1" == "0" ]; then + buf=$(echo "$kak_quoted_buflist" | xargs -n1 | head -n "$1" | tail -n1) + [ -z "$buf" ] || printf "buffer '%s'" $(echo "$buf" | sed "s/'/''/g") + fi + } +} |
