xref: /vim-8.2.3635/runtime/syntax/elf.vim (revision 8ea05de6)
1" Vim syntax file
2" Language:    ELF
3" Maintainer:  Christian V. J. Brüssow <[email protected]>
4" Last Change: Son 22 Jun 2003 20:43:14 CEST
5" Filenames:   *.ab,*.am
6" URL:	       http://www.cvjb.de/comp/vim/elf.vim
7" $Id: elf.vim,v 1.1 2004/06/13 19:52:27 vimboss Exp $
8"
9" ELF: Extensible Language Facility
10"      This is the Applix Inc., Macro and Builder programming language.
11"      It has nothing in common with the binary format called ELF.
12
13" quit when a syntax file was already loaded
14if exists("b:current_syntax")
15	finish
16endif
17
18" Case does not matter
19syn case ignore
20
21" Environments
22syn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError
23
24" Unmatched braces
25syn match elfBraceError "}"
26
27" All macros must have at least one of these definitions
28syn keyword elfSpecial endmacro
29syn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError
30
31" Preprocessor Commands
32syn keyword elfPPCom define include
33
34" Some keywords
35syn keyword elfKeyword  false true null
36syn keyword elfKeyword	var format object function endfunction
37
38" Conditionals and loops
39syn keyword elfConditional if else case of endcase for to next while until return goto
40
41" All built-in elf macros end with an '@'
42syn match elfMacro "[0-9_A-Za-z]\+@"
43
44" Strings and characters
45syn region elfString start=+"+  skip=+\\\\\|\\"+  end=+"+
46
47" Numbers
48syn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>"
49
50" Comments
51syn region elfComment start="/\*"  end="\*/"
52syn match elfComment  "\'.*$"
53
54syn sync ccomment elfComment
55
56" Parenthesis
57syn match elfParens "[\[\]()]"
58
59" Punctuation
60syn match elfPunct "[,;]"
61
62" Define the default highlighting.
63" Only when an item doesn't have highlighting yet
64
65" The default methods for highlighting. Can be overridden later.
66hi def link elfComment Comment
67hi def link elfPPCom Include
68hi def link elfKeyword Keyword
69hi def link elfSpecial Special
70hi def link elfEnvironment Special
71hi def link elfBraceError Error
72hi def link elfConditional Conditional
73hi def link elfMacro Function
74hi def link elfNumber Number
75hi def link elfString String
76hi def link elfParens Delimiter
77hi def link elfPunct Delimiter
78
79
80let b:current_syntax = "elf"
81
82" vim:ts=8:sw=4:nocindent:smartindent:
83