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 ',iconst [$st, $setst] = useState($kak_reg_v);'" } } } } 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;" } } define-command snip-function %{ prompt 'Name: ' %{ execute-keys ",iconst %val{text} = () => {" execute-keys " return 0;" execute-keys "};kwlt;" } }