summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/config.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/config.vim')
-rw-r--r--runtime/syntax/config.vim54
1 files changed, 54 insertions, 0 deletions
diff --git a/runtime/syntax/config.vim b/runtime/syntax/config.vim
new file mode 100644
index 0000000..3636ed4
--- /dev/null
+++ b/runtime/syntax/config.vim
@@ -0,0 +1,54 @@
+" Vim syntax file
+" Language: configure.in script: M4 with sh
+" Former Maintainer: Christian Hammesr <ch@lathspell.westend.com>
+" Last Change: 2018 Feb 03
+" (patch from Yngve Inntjore Levinsen to detect AC_MSG)
+" (patch from Khym Chanur to add @Spell)
+" (patch from James McCoy to fix paren matching)
+
+" Well, I actually even do not know much about m4. This explains why there
+" is probably very much missing here, yet !
+" But I missed good highlighting when editing my GNU autoconf/automake
+" script, so I wrote this quick and dirty patch.
+
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+" define the config syntax
+syn match configdelimiter "[()\[\];,]"
+syn match configoperator "[=|&\*\+\<\>]"
+syn match configcomment "\(dnl.*\)\|\(#.*\)" contains=configDnl,@Spell
+syn match configfunction "\<[A-Z_][A-Z0-9_]*\>"
+syn match confignumber "[-+]\=\<\d\+\(\.\d*\)\=\>"
+syn keyword configDnl dnl contained
+syn keyword configkeyword if then else fi test for in do done
+syn keyword configspecial cat rm eval
+
+" This shortens the script, see syn-ext-match..
+syn region configstring start=+\z(["'`]\)+ skip=+\\\z1+ end=+\z1+ contains=@Spell
+
+" Anything inside AC_MSG_TYPE([...]) and AC_MSG_TYPE(...) is a string.
+syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze(\[" matchgroup=configdelimiter end="\])" contains=configdelimiter,@Spell
+syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze([^[]" matchgroup=configdelimiter end=")" contains=configdelimiter,@Spell
+
+" Define the default highlighting.
+" Only when an item doesn't have highlighting yet
+
+hi def link configdelimiter Delimiter
+hi def link configoperator Operator
+hi def link configcomment Comment
+hi def link configDnl Comment
+hi def link configfunction Function
+hi def link confignumber Number
+hi def link configkeyword Keyword
+hi def link configspecial Special
+hi def link configstring String
+hi def link configmsg String
+
+
+let b:current_syntax = "config"
+
+" vim: ts=4