diff --git a/rc/base/lint.kak b/rc/base/lint.kak index dfa35037..d0a8b78c 100644 --- a/rc/base/lint.kak +++ b/rc/base/lint.kak @@ -15,9 +15,14 @@ define-command lint -docstring 'Parse the current buffer with a linter' %{ exit 1 fi + extension="" + if printf %s "${kak_buffile}" | grep -qE '[^/.]\.[[:alnum:]]+$'; then + extension=".${kak_buffile##*.}" + fi + dir=$(mktemp -d "${TMPDIR:-/tmp}"/kak-lint.XXXXXXXX) mkfifo "$dir"/fifo - printf '%s\n' "evaluate-commands -no-hooks write -sync $dir/buf" + printf '%s\n' "evaluate-commands -no-hooks write -sync $dir/buf${extension}" printf '%s\n' "evaluate-commands -draft %{ edit! -fifo $dir/fifo -debug *lint-output* @@ -31,7 +36,7 @@ define-command lint -docstring 'Parse the current buffer with a linter' %{ { # do the parsing in the background and when ready send to the session - eval "$kak_opt_lintcmd '$dir'/buf" | sort -t: -k2,2 -n > "$dir"/stderr + eval "$kak_opt_lintcmd '$dir'/buf${extension}" | sort -t: -k2,2 -n > "$dir"/stderr # Flags for the gutter: # stamp l3|{red}█ l11|{yellow}█