diff options
Diffstat (limited to '')
| -rw-r--r-- | autoload/snippets.kak | 22 | ||||
| -rw-r--r-- | autoload/snippets/+default.kak | 13 | ||||
| -rw-r--r-- | autoload/snippets/kakoune.kak | 20 | ||||
| -rw-r--r-- | autoload/snippets/nix.kak | 26 | ||||
| -rw-r--r-- | autoload/snippets/ruby.kak | 13 | ||||
| -rw-r--r-- | autoload/snippets/typescript.kak | 36 | ||||
| -rw-r--r-- | snippets/kakoune/command.kak | 3 | ||||
| -rw-r--r-- | snippets/kakoune/hook.kak | 3 | ||||
| -rw-r--r-- | snippets/nix/mkderivation.nix | 6 | ||||
| -rw-r--r-- | snippets/nix/mkshell.nix | 3 | ||||
| -rw-r--r-- | snippets/ruby/class.rb | 9 | ||||
| -rw-r--r-- | snippets/typescript/function.tsx | 3 | ||||
| -rw-r--r-- | snippets/typescript/react-component.tsx | 7 | ||||
| -rw-r--r-- | snippets/typescript/react-usestate.snip.kak | 11 |
14 files changed, 67 insertions, 108 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" +} diff --git a/autoload/snippets/+default.kak b/autoload/snippets/+default.kak deleted file mode 100644 index 3dc871b..0000000 --- a/autoload/snippets/+default.kak +++ /dev/null @@ -1,13 +0,0 @@ -declare-option -hidden str-list snippet_list - -map global normal <c-p> ': snippets-insert<ret>' - -define-command snippets-insert %{ - prompt -menu \ - -shell-script-candidates 'echo "$kak_opt_snippet_list"' \ - 'Snippet: ' 'evaluate-commands %val{text}' -} - -define-command define-snippet -params 2 %{ - set-option -add %arg{1} snippet_list %sh{ echo -e "$2\n" } -} diff --git a/autoload/snippets/kakoune.kak b/autoload/snippets/kakoune.kak deleted file mode 100644 index d6ed073..0000000 --- a/autoload/snippets/kakoune.kak +++ /dev/null @@ -1,20 +0,0 @@ -hook global BufSetOption filetype=(?:kak) %{ - define-snippet buffer snip-kak-define - define-snippet buffer snip-kak-hook -} - -define-command snip-kak-define %{ - prompt 'Command: ' %{ - set-register c %val{text} - execute-keys '<esc>,idefine-command <c-r>c %{<ret>' - execute-keys '}' - } -} - -define-command snip-kak-hook %{ - prompt 'Event: ' %{ - set-register c %val{text} - execute-keys '<esc>,ihook global <c-r>c .* %{<ret>' - execute-keys '}' - } -} diff --git a/autoload/snippets/nix.kak b/autoload/snippets/nix.kak deleted file mode 100644 index 84c637d..0000000 --- a/autoload/snippets/nix.kak +++ /dev/null @@ -1,26 +0,0 @@ -hook global BufSetOption filetype=(?:nix) %{ - define-snippet buffer snip-flake-mkderivation - define-snippet buffer snip-flake-mkshell -} - -define-command snip-flake-mkderivation %{ - prompt 'pname: ' %{ - set-register c %val{text} - execute-keys '<esc>,istdenv.mkDerivation {<ret>' - execute-keys ' pname = "<c-r>c";<ret>' - execute-keys ' version = "0.0.0";<ret>' - execute-keys ' src = fetchGithub {<ret>' - execute-keys ' owner = "owner";<ret>' - execute-keys ' repo = "repo";<ret>' - execute-keys ' rev = "master";<ret>' - execute-keys ' hash = lib.fakeHash;<ret>' - execute-keys ' };<ret>' - execute-keys '}' - } -} - -define-command snip-flake-mkshell %{ - execute-keys '<esc>,ipkgs.mkShell {<ret>' - execute-keys ' buildInputs = with pkgs; [];<ret>' - execute-keys '}' -} diff --git a/autoload/snippets/ruby.kak b/autoload/snippets/ruby.kak deleted file mode 100644 index 4f851c2..0000000 --- a/autoload/snippets/ruby.kak +++ /dev/null @@ -1,13 +0,0 @@ -hook global BufSetOption filetype=(?:ruby) %{ - define-snippet buffer snip-rails-class -} - -define-command snip-rails-class %{ - eval %sh{ - class_name=$(basename "$kak_bufname" .rb | sed -e 's/[^A-Za-z0-9]\(\w\)/\U\1/g' -e 's/^\w/\U\0/g') - echo "set-register c $class_name" - } - execute-keys '<esc>,i# frozen_string_literal: true<ret><ret>' - execute-keys 'class <c-r>c<ret>' - execute-keys 'end' -} diff --git a/autoload/snippets/typescript.kak b/autoload/snippets/typescript.kak deleted file mode 100644 index 4b17109..0000000 --- a/autoload/snippets/typescript.kak +++ /dev/null @@ -1,36 +0,0 @@ -hook global BufSetOption filetype=(?:javascript|typescript|jsx|tsx) %{ - define-snippet buffer snip-react-component - define-snippet buffer snip-react-usestate - define-snippet buffer snip-function -} - -define-command snip-react-usestate %{ - prompt 'Name: ' %{ - set-register n %val{text} - prompt 'Initial value: ' %{ - set-register v %val{text} - evaluate-commands %sh{ - st=$(echo "$kak_reg_n" | sed 's/^[A-Z]/\L\0/') - setst="set$(echo "$kak_reg_n" | sed 's/^[a-z]/\U\0/')" - echo "execute-keys '<esc>,iconst [$st, $setst] = useState($kak_reg_v);<esc>'" - } - } - } -} - -define-command snip-react-component %{ - prompt 'Component name: ' %{ - execute-keys "<esc>,itype %val{text}Prop = {<ret>}<ret><ret>" - execute-keys "<esc>,iexport const %val{text} = ({ }: %val{text}Prop) => {<ret>" - execute-keys " return <lt>div><lt>/div>;" - execute-keys "<ret>};<esc>kwlt;" - } -} - -define-command snip-function %{ - prompt 'Name: ' %{ - execute-keys "<esc>,iconst %val{text} = () => {<ret>" - execute-keys " return 0;" - execute-keys "<ret>};<esc>kwlt;" - } -} diff --git a/snippets/kakoune/command.kak b/snippets/kakoune/command.kak new file mode 100644 index 0000000..0379632 --- /dev/null +++ b/snippets/kakoune/command.kak @@ -0,0 +1,3 @@ +define-command $1 -params $2 -docstring '' %{ + $3 +} diff --git a/snippets/kakoune/hook.kak b/snippets/kakoune/hook.kak new file mode 100644 index 0000000..a26f983 --- /dev/null +++ b/snippets/kakoune/hook.kak @@ -0,0 +1,3 @@ +hook global $1 .* %{ + $2 +} diff --git a/snippets/nix/mkderivation.nix b/snippets/nix/mkderivation.nix new file mode 100644 index 0000000..412efb7 --- /dev/null +++ b/snippets/nix/mkderivation.nix @@ -0,0 +1,6 @@ +stdenv.mkDerivation { + pname = "$1"; + version = "0.0.0"; + src = $2; + buildInputs = []; +} diff --git a/snippets/nix/mkshell.nix b/snippets/nix/mkshell.nix new file mode 100644 index 0000000..c7ad05b --- /dev/null +++ b/snippets/nix/mkshell.nix @@ -0,0 +1,3 @@ +pkgs.mkShell { + buildInputs = with pkgs; []; +} diff --git a/snippets/ruby/class.rb b/snippets/ruby/class.rb new file mode 100644 index 0000000..5b16823 --- /dev/null +++ b/snippets/ruby/class.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class $1 + def initialize + $2 + end + + $3 +end diff --git a/snippets/typescript/function.tsx b/snippets/typescript/function.tsx new file mode 100644 index 0000000..ac1b290 --- /dev/null +++ b/snippets/typescript/function.tsx @@ -0,0 +1,3 @@ +const $1 = ($2) => { + $3 +}; diff --git a/snippets/typescript/react-component.tsx b/snippets/typescript/react-component.tsx new file mode 100644 index 0000000..5a2723b --- /dev/null +++ b/snippets/typescript/react-component.tsx @@ -0,0 +1,7 @@ +type $1Prop = { + $2 +} + +export const $1 = ({ }: $1Prop) => { + return <div>$3</div>; +}; diff --git a/snippets/typescript/react-usestate.snip.kak b/snippets/typescript/react-usestate.snip.kak new file mode 100644 index 0000000..8b2d232 --- /dev/null +++ b/snippets/typescript/react-usestate.snip.kak @@ -0,0 +1,11 @@ +prompt 'Name: ' %{ + set-register n %val{text} + prompt 'Initial value: ' %{ + set-register v %val{text} + evaluate-commands %sh{ + st=$(echo "$kak_reg_n" | sed 's/^[A-Z]/\L\0/') + setst="set$(echo "$kak_reg_n" | sed 's/^[a-z]/\U\0/')" + echo "execute-keys '<esc>,iconst [$st, $setst] = useState($kak_reg_v);<esc>'" + } + } +} |
