2014-07-10 21:05:51 -07:00
|
|
|
" Vim syntax file
|
|
|
|
" Language: configure.in script: M4 with sh
|
|
|
|
" Maintainer: Christian Hammesr <ch@lathspell.westend.com>
|
2015-12-17 02:50:58 -07:00
|
|
|
" Last Change: 2015 Jan 14
|
|
|
|
" (patch from Yngve Inntjore Levinsen to detect AC_MSG)
|
|
|
|
" (patch from Khym Chanur to add @Spell)
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
" Well, I actually even do not know much about m4. This explains why there
|
|
|
|
" is probably very much missing here, yet !
|
2015-12-17 02:50:58 -07:00
|
|
|
" But I missed good highlighting when editing my GNU autoconf/automake
|
2014-07-10 21:05:51 -07:00
|
|
|
" script, so I wrote this quick and dirty patch.
|
|
|
|
|
|
|
|
|
2017-04-28 12:06:44 -07:00
|
|
|
" quit when a syntax file was already loaded
|
|
|
|
if exists("b:current_syntax")
|
2014-07-10 21:05:51 -07:00
|
|
|
finish
|
|
|
|
endif
|
|
|
|
|
|
|
|
" define the config syntax
|
|
|
|
syn match configdelimiter "[()\[\];,]"
|
|
|
|
syn match configoperator "[=|&\*\+\<\>]"
|
2015-12-17 02:50:58 -07:00
|
|
|
syn match configcomment "\(dnl.*\)\|\(#.*\)" contains=configDnl,@Spell
|
2014-07-10 21:05:51 -07:00
|
|
|
syn match configfunction "\<[A-Z_][A-Z0-9_]*\>"
|
|
|
|
syn match confignumber "[-+]\=\<\d\+\(\.\d*\)\=\>"
|
2015-12-17 02:50:58 -07:00
|
|
|
syn keyword configDnl dnl contained
|
2014-07-10 21:05:51 -07:00
|
|
|
syn keyword configkeyword if then else fi test for in do done
|
|
|
|
syn keyword configspecial cat rm eval
|
2015-12-17 02:50:58 -07:00
|
|
|
|
|
|
|
" 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 configstring matchgroup=configfunction start="AC_MSG_[A-Z]*\ze(\[" matchgroup=configdelimiter end="\])" contains=configdelimiter,@Spell
|
|
|
|
syn region configstring matchgroup=configfunction start="AC_MSG_[A-Z]*\ze([^[]" matchgroup=configdelimiter end=")" contains=configdelimiter,@Spell
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
" Define the default highlighting.
|
2017-04-28 12:06:44 -07:00
|
|
|
" Only when an item doesn't have highlighting yet
|
|
|
|
command -nargs=+ HiLink hi def link <args>
|
|
|
|
|
|
|
|
HiLink configdelimiter Delimiter
|
|
|
|
HiLink configoperator Operator
|
|
|
|
HiLink configcomment Comment
|
|
|
|
HiLink configDnl Comment
|
|
|
|
HiLink configfunction Function
|
|
|
|
HiLink confignumber Number
|
|
|
|
HiLink configkeyword Keyword
|
|
|
|
HiLink configspecial Special
|
|
|
|
HiLink configstring String
|
|
|
|
|
|
|
|
delcommand HiLink
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
let b:current_syntax = "config"
|
|
|
|
|
|
|
|
" vim: ts=4
|