xref: /vim-8.2.3635/runtime/syntax/elf.vim (revision cb80aa2d)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:    ELF
3*cb80aa2dSBram Moolenaar" Maintainer:  Christian V. J. Brüssow <[email protected]>
4071d4279SBram Moolenaar" Last Change: Son 22 Jun 2003 20:43:14 CEST
5071d4279SBram Moolenaar" Filenames:   *.ab,*.am
6071d4279SBram Moolenaar" URL:	       http://www.cvjb.de/comp/vim/elf.vim
75c73622aSBram Moolenaar" $Id: elf.vim,v 1.1 2004/06/13 19:52:27 vimboss Exp $
8071d4279SBram Moolenaar"
9071d4279SBram Moolenaar" ELF: Extensible Language Facility
10071d4279SBram Moolenaar"      This is the Applix Inc., Macro and Builder programming language.
11071d4279SBram Moolenaar"      It has nothing in common with the binary format called ELF.
12071d4279SBram Moolenaar
1389bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1489bcfda6SBram Moolenaarif exists("b:current_syntax")
15071d4279SBram Moolenaar	finish
16071d4279SBram Moolenaarendif
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar" Case does not matter
19071d4279SBram Moolenaarsyn case ignore
20071d4279SBram Moolenaar
21071d4279SBram Moolenaar" Environments
22071d4279SBram Moolenaarsyn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError
23071d4279SBram Moolenaar
24071d4279SBram Moolenaar" Unmatched braces
25071d4279SBram Moolenaarsyn match elfBraceError "}"
26071d4279SBram Moolenaar
27071d4279SBram Moolenaar" All macros must have at least one of these definitions
28071d4279SBram Moolenaarsyn keyword elfSpecial endmacro
29071d4279SBram Moolenaarsyn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError
30071d4279SBram Moolenaar
31071d4279SBram Moolenaar" Preprocessor Commands
32071d4279SBram Moolenaarsyn keyword elfPPCom define include
33071d4279SBram Moolenaar
34071d4279SBram Moolenaar" Some keywords
35071d4279SBram Moolenaarsyn keyword elfKeyword  false true null
36071d4279SBram Moolenaarsyn keyword elfKeyword	var format object function endfunction
37071d4279SBram Moolenaar
38071d4279SBram Moolenaar" Conditionals and loops
39071d4279SBram Moolenaarsyn keyword elfConditional if else case of endcase for to next while until return goto
40071d4279SBram Moolenaar
41071d4279SBram Moolenaar" All built-in elf macros end with an '@'
42071d4279SBram Moolenaarsyn match elfMacro "[0-9_A-Za-z]\+@"
43071d4279SBram Moolenaar
44071d4279SBram Moolenaar" Strings and characters
45071d4279SBram Moolenaarsyn region elfString start=+"+  skip=+\\\\\|\\"+  end=+"+
46071d4279SBram Moolenaar
47071d4279SBram Moolenaar" Numbers
48071d4279SBram Moolenaarsyn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>"
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar" Comments
51071d4279SBram Moolenaarsyn region elfComment start="/\*"  end="\*/"
52071d4279SBram Moolenaarsyn match elfComment  "\'.*$"
53071d4279SBram Moolenaar
54071d4279SBram Moolenaarsyn sync ccomment elfComment
55071d4279SBram Moolenaar
56071d4279SBram Moolenaar" Parenthesis
57071d4279SBram Moolenaarsyn match elfParens "[\[\]()]"
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar" Punctuation
60071d4279SBram Moolenaarsyn match elfPunct "[,;]"
61071d4279SBram Moolenaar
62071d4279SBram Moolenaar" Define the default highlighting.
6389bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
64071d4279SBram Moolenaar
65071d4279SBram Moolenaar" The default methods for highlighting. Can be overridden later.
66f37506f6SBram Moolenaarhi def link elfComment Comment
67f37506f6SBram Moolenaarhi def link elfPPCom Include
68f37506f6SBram Moolenaarhi def link elfKeyword Keyword
69f37506f6SBram Moolenaarhi def link elfSpecial Special
70f37506f6SBram Moolenaarhi def link elfEnvironment Special
71f37506f6SBram Moolenaarhi def link elfBraceError Error
72f37506f6SBram Moolenaarhi def link elfConditional Conditional
73f37506f6SBram Moolenaarhi def link elfMacro Function
74f37506f6SBram Moolenaarhi def link elfNumber Number
75f37506f6SBram Moolenaarhi def link elfString String
76f37506f6SBram Moolenaarhi def link elfParens Delimiter
77f37506f6SBram Moolenaarhi def link elfPunct Delimiter
78071d4279SBram Moolenaar
79071d4279SBram Moolenaar
80071d4279SBram Moolenaarlet b:current_syntax = "elf"
81071d4279SBram Moolenaar
82071d4279SBram Moolenaar" vim:ts=8:sw=4:nocindent:smartindent:
83