diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-11-12 20:38:00 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-11-12 20:38:00 +0000 |
| commit | b2cb5b421cc22ec4454fb5984f9d756badf9f3e4 (patch) | |
| tree | 90db704f4d056f8b6bd4de195391a62c514f9a36 /src/rc/cpp.kak | |
| parent | db5050fab0718d9f446a9af3f4507e30b29bbc83 (diff) | |
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.
Diffstat (limited to 'src/rc/cpp.kak')
| -rw-r--r-- | src/rc/cpp.kak | 11 |
1 files changed, 5 insertions, 6 deletions
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 <c-s>k<a-x>s^\h*\K(/{2,})<ret>y<c-o>P } # indent after visibility specifier try %[ exec -draft k<a-x><a-k>^\h*(public|private|protected):\h*$<ret>j<a-gt> ] + # indent after if|else|while|for + try %[ exec -draft <a-F>)MB<a-k>\`(if|else|while|for)\h*\(.*\)\n\h*\n\'<ret><a-space><space><a-gt> ] _ @ hook window InsertChar \} -id cpp-indent %[ |
