From f69a19a4bd00ad92843b903db3d5967d11095edd Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Thu, 30 Oct 2025 09:24:20 +0530 Subject: Dumb snippets --- autoload/snippets/typescript.kak | 65 ++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 40 deletions(-) (limited to 'autoload/snippets/typescript.kak') diff --git a/autoload/snippets/typescript.kak b/autoload/snippets/typescript.kak index 86f46e7..f2d3e8f 100644 --- a/autoload/snippets/typescript.kak +++ b/autoload/snippets/typescript.kak @@ -1,42 +1,27 @@ -# declare-option -hidden str-list snippet_list +hook global BufSetOption filetype=(?:javascript|typescript|jsx|tsx) %{ + define-snippet buffer snip-react-component + define-snippet buffer snip-react-usestate +} -# define-command snippets-insert %{ -# evaluate-commands %sh{ -# cmds="echo $(echo "$kak_opt_snippet_list" | sed 's/=.*//')" -# # TODO: Fix this shit -# echo "prompt -menu -shell-script-candidates '$cmd' 'Snippet: ' 'evaluate-commands %val{text}'" -# } -# } +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 ',iconst [$st, $setst] = useState($kak_reg_v);'" + } + } + } +} -# map global normal ':snippets-insert' - -# define-command define-snippet -params 3 %{ -# set-option -add %arg{1} snippet_list %sh{ echo -e "$2=$3\n" } -# } - -# define-snippet global "React component" snip-react-component -# define-snippet global "React useState" snip-react-usestate - -# # hook global BufSetOption filetype=(?:javascript|typescript) %{ -# # define-snippet buffer "React component" snip-react-component -# # define-snippet buffer "React useState" snip-react-usestate -# # } - -# define-command snip-react-usestate %{ -# prompt 'Name: ' %{ -# evaluate-commands %sh{ -# echo "info %{$kak_text}" -# st=$(echo "$kak_text" | sed 's/^[A-Z]/\L\0/') -# setst="set$(echo "$kak_text" | sed 's/^[a-z]/\U\0/')" -# echo "execute-keys ',iconst [$st, $setst] = useState();'" -# } -# } -# } - -# define-command snip-react-component %{ -# prompt 'Component name: ' %{ -# execute-keys ",iconst %val{text} = ({ children }: React.PropsWithChildren) => {" -# execute-keys " return div>/div>;" -# execute-keys "}" -# } -# } +define-command snip-react-component %{ + prompt 'Component name: ' %{ + execute-keys ",itype %val{text}Prop = {}" + execute-keys ",iexport const %val{text} = ({ }: %val{text}Prop) => {" + execute-keys " return div>/div>;" + execute-keys "};kwlt;" + } +} -- cgit v1.3.1