From b2cb5b421cc22ec4454fb5984f9d756badf9f3e4 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 12 Nov 2013 20:38:00 +0000 Subject: Centralize file mimetype detection in mime.kak This way, 'file --mime-type $buffer' is called only once per file rather than once per filetype detection hook. --- src/rc/cpp.kak | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/rc/cpp.kak') diff --git a/src/rc/cpp.kak b/src/rc/cpp.kak index 5da7e844..50556b97 100644 --- a/src/rc/cpp.kak +++ b/src/rc/cpp.kak @@ -2,12 +2,9 @@ hook global BufCreate .*\.(c|cc|cpp|cxx|C|h|hh|hpp|hxx|H) %{ set buffer filetype cpp } -hook global BufOpen .* %{ %sh{ - mimetype="$(file -b --mime-type ${kak_bufname})" - if [[ "${mimetype}" == "text/x-c++" || "${mimetype}" == "text/x-c" ]]; then - echo set buffer filetype cpp; - fi -} } +hook global BufSetOption mimetype=text/x-c(\+\+)? %{ + set buffer filetype cpp +} hook global WinSetOption filetype=cpp %~ addhl group cpp-highlight @@ -35,6 +32,8 @@ hook global WinSetOption filetype=cpp %~ try %{ exec -draft ks^\h*\K(/{2,})yP } # indent after visibility specifier try %[ exec -draft k^\h*(public|private|protected):\h*$j ] + # indent after if|else|while|for + try %[ exec -draft )MB\`(if|else|while|for)\h*\(.*\)\n\h*\n\' ] _ @ hook window InsertChar \} -id cpp-indent %[ -- cgit v1.2.3