summaryrefslogtreecommitdiffstats
path: root/runtime/ftplugin/cmake.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ftplugin/cmake.vim')
-rw-r--r--runtime/ftplugin/cmake.vim34
1 files changed, 34 insertions, 0 deletions
diff --git a/runtime/ftplugin/cmake.vim b/runtime/ftplugin/cmake.vim
new file mode 100644
index 0000000..94c0076
--- /dev/null
+++ b/runtime/ftplugin/cmake.vim
@@ -0,0 +1,34 @@
+" Vim filetype plugin
+" Language: CMake
+" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
+" Last Change: 2018 Aug 30
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+ finish
+endif
+
+" save 'cpo' for restoration at the end of this file
+let s:cpo_save = &cpo
+set cpo&vim
+
+" Don't load another plugin for this buffer
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl commentstring<"
+
+if exists('loaded_matchit')
+ let b:match_words = '\<if\>:\<elseif\>\|\<else\>:\<endif\>'
+ \ . ',\<foreach\>\|\<while\>:\<break\>:\<endforeach\>\|\<endwhile\>'
+ \ . ',\<macro\>:\<endmacro\>'
+ \ . ',\<function\>:\<endfunction\>'
+ let b:match_ignorecase = 1
+
+ let b:undo_ftplugin .= "| unlet b:match_words"
+endif
+
+setlocal commentstring=#\ %s
+
+" restore 'cpo' and clean up buffer variable
+let &cpo = s:cpo_save
+unlet s:cpo_save