diff options
| author | Akshay Nair <phenax5@gmail.com> | 2026-06-26 15:36:49 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2026-06-27 10:41:08 +0530 |
| commit | e751362d9194d9291057759fa33073720c3535fd (patch) | |
| tree | b7098346db2317d2211d7445300d210c49647948 /autoload/snippets.kak | |
| parent | fb52df34924781ed3d42ca8864402c3e7a52d4aa (diff) | |
| download | kakoune-config-e751362d9194d9291057759fa33073720c3535fd.tar.gz kakoune-config-e751362d9194d9291057759fa33073720c3535fd.zip | |
Shnippets
Diffstat (limited to 'autoload/snippets.kak')
| -rw-r--r-- | autoload/snippets.kak | 22 |
1 files changed, 22 insertions, 0 deletions
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 <c-p> ': snippets-insert<ret>' + +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}""<ret>" + execute-keys -save-regs '' "s[$]\d+<ret>" + execute-keys "%sh{echo $((kak_selection_count + 1))}n" +} |
