24 lines
1,015 B
Text
24 lines
1,015 B
Text
provide-module fishr %~
|
|
|
|
define-command fish -params 1.. -docstring %{
|
|
fish [code]: Execute provided fish code, evaluating its output as Kakoune commands.
|
|
} %{
|
|
evaluate-commands %sh{
|
|
quote() {
|
|
printf "'%s'" "$(printf "%s" "$1" | sed "s/'/'\\\\''/g")"
|
|
}
|
|
|
|
cmd=$(quote "$*")
|
|
vars=$(printf '%s\n' "$@" | grep -o 'kak_\w\+' | tr '\n' ' ')
|
|
printf "eval %%sh{fish -c %s # %s}" "$cmd" "$vars"
|
|
}
|
|
}
|
|
require-module fish
|
|
require-module kak
|
|
|
|
add-highlighter shared/kakrc/code/fish regex (?:\s|\A)\K(fish)(?:(?=\s)|\z) 0:keyword
|
|
add-highlighter shared/kakrc/fish1 region -recurse '\{' '(^|\h)(fish)([\s{}\w%/$-|''"])* %\{\K' '\}' ref fish
|
|
add-highlighter shared/kakrc/fish2 region -recurse '\(' '(^|\h)(fish)([\s{}\w%/$-|''"])* %\(\K' '\)' ref fish
|
|
add-highlighter shared/kakrc/fish3 region -recurse '\[' '(^|\h)(fish)([\s{}\w%/$-|''"])* %\[\K' '\]' ref fish
|
|
add-highlighter shared/kakrc/fish4 region -recurse '<' '(^|\h)(fish)([\s{}\w%/$-|''"])* %<\K' '>' ref fish
|
|
~
|