aboutsummaryrefslogtreecommitdiff
path: root/autoload/files.kak
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-11-05 21:56:06 +0530
committerAkshay Nair <phenax5@gmail.com>2025-11-09 12:02:10 +0530
commit73a9be025659a9b36a9284e160a9aee995db5314 (patch)
tree8b6caa34e2f4795e09779ff006b1e182d7ecde8d /autoload/files.kak
parent17b59f5ed7acac5dc852c831e1650daac7f169d7 (diff)
downloadkakoune-config-73a9be025659a9b36a9284e160a9aee995db5314.tar.gz
kakoune-config-73a9be025659a9b36a9284e160a9aee995db5314.zip
Add some buffer keys and buffers-show command
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
+ }
+}
+