declare-option str kak_highlight_cmd "kak-highlight" set-option global kak_highlight_cmd "kak-highlight -vv" declare-option str kak_highlight_log "/tmp/kak-highlight.log" declare-option -hidden range-specs kak_highlight_ranges # Option to store draft of the current buffer before passing to shell. declare-option -hidden str kak_highlight_draft define-command kak-highlight -docstring %{ kak-highlight Request highlighting for the current buffer } %{ evaluate-commands -draft -no-hooks %{exec '%'; set buffer kak_highlight_draft %val{selection}} evaluate-commands %sh{ kak_highlight_draft=$(printf '%s.' "${kak_opt_kak_highlight_draft}" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | sed "s/$(printf '\t')/\\\\t/g") kak_highlight_draft=${kak_highlight_draft%.} printf ' timestamp = %d session = "%s" client = "%s" content = """ %s""" ' "${kak_timestamp}" "${kak_session}" "${kak_client}" "${kak_highlight_draft}" | ${kak_opt_kak_highlight_cmd} request } } define-command kak-highlight-enable -docstring %{ kak-highlight-enable Start a daemon for the current session } %{ nop %sh{ (eval "${kak_opt_kak_highlight_cmd} --log '${kak_opt_kak_highlight_log}' daemon '${kak_session}'") >/dev/null 2>&1