aboutsummaryrefslogtreecommitdiff
path: root/autoload/files.kak
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/files.kak')
-rw-r--r--autoload/files.kak25
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
+ }
+}
+