diff options
Diffstat (limited to 'autoload/files.kak')
| -rw-r--r-- | autoload/files.kak | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/autoload/files.kak b/autoload/files.kak index 4598569..5754bc3 100644 --- a/autoload/files.kak +++ b/autoload/files.kak @@ -6,13 +6,28 @@ def file-manager -params .. %{ terminal-singleton files env "DAFFM_PATH_RELATIVE_TO=%val{client_env_PWD}" daffm -c @kak %arg{@} } +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' + declare-user-mode buffer map global user b ': enter-user-mode buffer<ret>' -docstring 'Buffer mode' map global buffer b ': buffer ' -docstring 'Switch buffer' -map global buffer d ': delete-buffer<ret>' -docstring 'Delete buffer' +map global buffer <ret> ': buffers-show<ret>' -docstring 'Show buflist' +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' map global buffer s ': write<ret>' -docstring 'Save' -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' +def buffers-show %{ + info -title 'buffers' -markup %sh{ + echo "$kak_quoted_buflist" | xargs -n1 | while IFS= read buf; do + if [ -z "$buf" ]; then echo "{comment}<scratch>{Normal}" + elif [ "$buf" == "$kak_bufname" ]; then echo "{keyword}$buf{Normal}" + else echo "{Default}$buf{Normal}" + fi + done | nl -w 2 + } +} + |
