From e751362d9194d9291057759fa33073720c3535fd Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 26 Jun 2026 15:36:49 +0530 Subject: Shnippets --- autoload/snippets.kak | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 autoload/snippets.kak (limited to 'autoload/snippets.kak') diff --git a/autoload/snippets.kak b/autoload/snippets.kak new file mode 100644 index 0000000..7c4bb5a --- /dev/null +++ b/autoload/snippets.kak @@ -0,0 +1,22 @@ +map global normal ': snippets-insert' + +declare-option str snippets_dir "%val{config}/snippets" + +define-command snippets-insert -docstring 'Snippets' %{ + prompt -menu "Snippets: " -init "%opt{filetype}/" \ + -shell-script-candidates %{ fd --type file --base-directory "$kak_opt_snippets_dir" } \ + %{ + evaluate-commands %sh{ + case "$kak_text" in + *.snip.kak) cat "$kak_opt_snippets_dir/$kak_text" ;; + *) echo "insert-text-snippet %{$kak_text}" ;; + esac + } + } +} + +define-command -hidden insert-text-snippet -params 1 %{ + execute-keys ",|cat ""%opt{snippets_dir}/%arg{1}""" + execute-keys -save-regs '' "s[$]\d+" + execute-keys "%sh{echo $((kak_selection_count + 1))}n" +} -- cgit v1.3.1