xref: /vim-8.2.3635/runtime/syntax/elf.vim (revision 89bcfda6)
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
64command -nargs=+ HiLink hi def link <args>
65
66" The default methods for highlighting. Can be overridden later.
67HiLink elfComment Comment
68HiLink elfPPCom Include
69HiLink elfKeyword Keyword
70HiLink elfSpecial Special
71HiLink elfEnvironment Special
72HiLink elfBraceError Error
73HiLink elfConditional Conditional
74HiLink elfMacro Function
75HiLink elfNumber Number
76HiLink elfString String
77HiLink elfParens Delimiter
78HiLink elfPunct Delimiter
79
80delcommand HiLink
81
82let b:current_syntax = "elf"
83
84" vim:ts=8:sw=4:nocindent:smartindent:
85