codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: automake Makefile.am3" Maintainer: Debian Vim Maintainers4" Former Maintainer: John Williams <jrw@pobox.com>5" Last Change: 2023 Jan 166" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/automake.vim7"8" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain9" it only because patches have been submitted for it by Debian users and the10" former maintainer was MIA (Missing In Action), taking over its11" maintenance was thus the only way to include those patches.12" If you care about this file, and have time to maintain it please do so!13"14" This script adds support for automake's Makefile.am format. It highlights15" Makefile variables significant to automake as well as highlighting16" autoconf-style @variable@ substitutions . Subsitutions are marked as errors17" when they are used in an inappropriate place, such as in defining18" EXTRA_SOURCES.19 20" Standard syntax initialization21if exists('b:current_syntax')22 finish23endif24 25" Read the Makefile syntax to start with26runtime! syntax/make.vim27 28syn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\=="29syn match automakePrimary "^TESTS\s*\ze+\=="me=e-130syn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\=="31syn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\=="32syn match automakeExtra "^EXTRA_\w\+\s*\ze+\=="33syn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\=="34syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\=="35syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\=="36syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$"37 38syn match automakeSubst "@\w\+@"39syn match automakeSubst "^\s*@\w\+@"40syn match automakeComment1 "#.*$" contains=automakeSubst,@Spell41syn match automakeComment2 "##.*$" contains=@Spell42 43syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call44syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake45 46syn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent47syn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent48syn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent49syn match automakeBadSubst "@\(\w*@\=\)\=" contained50 51syn region automakeMakeDString start=+"+ skip=+\\"+ end=+"+ contains=makeIdent,automakeSubstitution52syn region automakeMakeSString start=+'+ skip=+\\'+ end=+'+ contains=makeIdent,automakeSubstitution53syn region automakeMakeBString start=+`+ skip=+\\`+ end=+`+ contains=makeIdent,makeSString,makeDString,makeNextLine,automakeSubstitution54 55" Define the default highlighting.56" Only when an item doesn't have highlighting yet57 58hi def link automakePrimary Statement59hi def link automakeSecondary Type60hi def link automakeExtra Special61hi def link automakeOptions Special62hi def link automakeClean Special63hi def link automakeSubdirs Statement64hi def link automakeConditional PreProc65hi def link automakeSubst PreProc66hi def link automakeComment1 makeComment67hi def link automakeComment2 makeComment68hi def link automakeMakeError makeError69hi def link automakeBadSubst makeError70hi def link automakeMakeDString makeDString71hi def link automakeMakeSString makeSString72hi def link automakeMakeBString makeBString73 74 75let b:current_syntax = 'automake'76 77" vi: ts=8 sw=4 sts=478 