aboutsummaryrefslogtreecommitdiff
path: root/data/syntax-highlighting/vim
diff options
context:
space:
mode:
authorDoug Kearns <dougkearns@gmail.com>2021-09-30 14:25:43 +1000
committerEli Schwartz <eschwartz93@gmail.com>2021-10-12 11:14:48 -0400
commit4d363e463d0e45052ec44ff631bc8c66d7a6734e (patch)
tree257c8e255363a389c3fc8e94c75ebabe2094813d /data/syntax-highlighting/vim
parent7cddf9a6db2a6b604ee5e967ffd7eef9f56b96f1 (diff)
downloadmeson-4d363e463d0e45052ec44ff631bc8c66d7a6734e.zip
meson-4d363e463d0e45052ec44ff631bc8c66d7a6734e.tar.gz
meson-4d363e463d0e45052ec44ff631bc8c66d7a6734e.tar.bz2
syntax-highlighting: vim: improve the ftplugin
Add 'formatoptions' to improve comment formatting. Set b:match_words. See :help matchit Set b:browsefilter. See :help browsefilter Add 'expandtab' from the style guide and a meson_recommended_style config variable to allow users to disable style-related settings. This is a defacto standard feature for ftplugins.
Diffstat (limited to 'data/syntax-highlighting/vim')
-rw-r--r--data/syntax-highlighting/vim/ftplugin/meson.vim23
1 files changed, 20 insertions, 3 deletions
diff --git a/data/syntax-highlighting/vim/ftplugin/meson.vim b/data/syntax-highlighting/vim/ftplugin/meson.vim
index 1064519..1ce9a03 100644
--- a/data/syntax-highlighting/vim/ftplugin/meson.vim
+++ b/data/syntax-highlighting/vim/ftplugin/meson.vim
@@ -12,11 +12,28 @@ set cpo&vim
setlocal commentstring=#\ %s
setlocal comments=:#
+setlocal formatoptions+=croql formatoptions-=t
-setlocal shiftwidth=2
-setlocal softtabstop=2
+let b:undo_ftplugin = "setl com< cms< fo<"
-let b:undo_ftplugin = "setl com< cms< sts< sw<"
+if get(g:, "meson_recommended_style", 1)
+ setlocal expandtab
+ setlocal shiftwidth=2
+ setlocal softtabstop=2
+ let b:undo_ftplugin .= " | setl et< sts< sw<"
+endif
+
+if exists("loaded_matchit") && !exists("b:match_words")
+ let b:match_words = '\<if\>:\<elif\>:\<else\>:\<endif\>,' .
+ \ '\<foreach\>:\<break\>:\<continue\>:\<endforeach\>'
+ let b:undo_ftplugin .= " | unlet! b:match_words"
+endif
+
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+ let b:browsefilter = "Meson Build Files (meson.build)\tmeson.build\n" .
+ \ "All Files (*.*)\t*.*\n"
+ let b:undo_ftplugin .= " | unlet! b:browsefilter"
+endif
let &cpo = s:keepcpo
unlet s:keepcpo