1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: automake Makefile.am 3*4c05fa08SBram Moolenaar" Maintainer: Debian Vim Maintainers 4a93fa7eeSBram Moolenaar" Former Maintainer: John Williams <[email protected]> 5*4c05fa08SBram Moolenaar" Last Change: 2018 Dec 27 6*4c05fa08SBram Moolenaar" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/automake.vim 73577c6faSBram Moolenaar" 83577c6faSBram Moolenaar" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain 93577c6faSBram Moolenaar" it only because patches have been submitted for it by Debian users and the 103577c6faSBram Moolenaar" former maintainer was MIA (Missing In Action), taking over its 113577c6faSBram Moolenaar" maintenance was thus the only way to include those patches. 123577c6faSBram Moolenaar" If you care about this file, and have time to maintain it please do so! 13a93fa7eeSBram Moolenaar" 14071d4279SBram Moolenaar" This script adds support for automake's Makefile.am format. It highlights 15071d4279SBram Moolenaar" Makefile variables significant to automake as well as highlighting 16071d4279SBram Moolenaar" autoconf-style @variable@ substitutions . Subsitutions are marked as errors 17071d4279SBram Moolenaar" when they are used in an inappropriate place, such as in defining 18071d4279SBram Moolenaar" EXTRA_SOURCES. 19071d4279SBram Moolenaar 20251e1912SBram Moolenaar" Standard syntax initialization 21*4c05fa08SBram Moolenaarif exists('b:current_syntax') 22251e1912SBram Moolenaar finish 23251e1912SBram Moolenaarendif 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" Read the Makefile syntax to start with 26071d4279SBram Moolenaarruntime! syntax/make.vim 27071d4279SBram Moolenaar 28251e1912SBram Moolenaarsyn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\==" 29251e1912SBram Moolenaarsyn match automakePrimary "^TESTS\s*\ze+\=="me=e-1 30251e1912SBram Moolenaarsyn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\==" 31251e1912SBram Moolenaarsyn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\==" 32251e1912SBram Moolenaarsyn match automakeExtra "^EXTRA_\w\+\s*\ze+\==" 33251e1912SBram Moolenaarsyn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\==" 34251e1912SBram Moolenaarsyn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\==" 35251e1912SBram Moolenaarsyn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\==" 36251e1912SBram Moolenaarsyn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$" 37071d4279SBram Moolenaar 38251e1912SBram Moolenaarsyn match automakeSubst "@\w\+@" 39251e1912SBram Moolenaarsyn match automakeSubst "^\s*@\w\+@" 40*4c05fa08SBram Moolenaarsyn match automakeComment1 "#.*$" contains=automakeSubst,@Spell 41*4c05fa08SBram Moolenaarsyn match automakeComment2 "##.*$" contains=@Spell 42071d4279SBram Moolenaar 43071d4279SBram Moolenaarsyn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call 44251e1912SBram Moolenaarsyn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake 45071d4279SBram Moolenaar 46251e1912SBram Moolenaarsyn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent 47251e1912SBram Moolenaarsyn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent 48251e1912SBram Moolenaarsyn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent 49251e1912SBram Moolenaarsyn match automakeBadSubst "@\(\w*@\=\)\=" contained 50071d4279SBram Moolenaar 51071d4279SBram Moolenaarsyn region automakeMakeDString start=+"+ skip=+\\"+ end=+"+ contains=makeIdent,automakeSubstitution 52071d4279SBram Moolenaarsyn region automakeMakeSString start=+'+ skip=+\\'+ end=+'+ contains=makeIdent,automakeSubstitution 53071d4279SBram Moolenaarsyn region automakeMakeBString start=+`+ skip=+\\`+ end=+`+ contains=makeIdent,makeSString,makeDString,makeNextLine,automakeSubstitution 54071d4279SBram Moolenaar 55071d4279SBram Moolenaar" Define the default highlighting. 5689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 57071d4279SBram Moolenaar 58f37506f6SBram Moolenaarhi def link automakePrimary Statement 59f37506f6SBram Moolenaarhi def link automakeSecondary Type 60f37506f6SBram Moolenaarhi def link automakeExtra Special 61f37506f6SBram Moolenaarhi def link automakeOptions Special 62f37506f6SBram Moolenaarhi def link automakeClean Special 63f37506f6SBram Moolenaarhi def link automakeSubdirs Statement 64f37506f6SBram Moolenaarhi def link automakeConditional PreProc 65f37506f6SBram Moolenaarhi def link automakeSubst PreProc 66f37506f6SBram Moolenaarhi def link automakeComment1 makeComment 67f37506f6SBram Moolenaarhi def link automakeComment2 makeComment 68f37506f6SBram Moolenaarhi def link automakeMakeError makeError 69f37506f6SBram Moolenaarhi def link automakeBadSubst makeError 70f37506f6SBram Moolenaarhi def link automakeMakeDString makeDString 71f37506f6SBram Moolenaarhi def link automakeMakeSString makeSString 72f37506f6SBram Moolenaarhi def link automakeMakeBString makeBString 73071d4279SBram Moolenaar 74071d4279SBram Moolenaar 75*4c05fa08SBram Moolenaarlet b:current_syntax = 'automake' 76071d4279SBram Moolenaar 77071d4279SBram Moolenaar" vi: ts=8 sw=4 sts=4 78