diff --git a/rc/base/file.kak b/rc/base/file.kak index 0aef21ec..89442fa9 100644 --- a/rc/base/file.kak +++ b/rc/base/file.kak @@ -3,9 +3,12 @@ decl str mimetype hook global BufOpen .* %{ %sh{ if [ -z "${kak_opt_filetype}" ]; then mime=$(file -b --mime-type "${kak_buffile}") - printf %s\\n "${mime}" | grep -q '^text/x-' - if [ $? -eq 0 ]; then - printf "set buffer filetype '%s'\n" "${mime:7}" + case "${mime}" in + text/x-*) filetype="${mime#text/x-}" ;; + text/*) filetype="${mime#text/}" ;; + esac + if [ -n "${filetype}" ]; then + printf "set buffer filetype '%s'\n" "${filetype}" else printf "set buffer mimetype '%s'\n" "${mime}" fi