summaryrefslogtreecommitdiff
path: root/src/rc/cpp.kak
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-11-12 20:38:00 +0000
committerMaxime Coste <frrrwww@gmail.com>2013-11-12 20:38:00 +0000
commitb2cb5b421cc22ec4454fb5984f9d756badf9f3e4 (patch)
tree90db704f4d056f8b6bd4de195391a62c514f9a36 /src/rc/cpp.kak
parentdb5050fab0718d9f446a9af3f4507e30b29bbc83 (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.kak11
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 %[