Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/elf.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | e170173ecb68 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: ELF | |
3 " Maintainer: Christian V. J. Brüssow <cvjb@cvjb.de> | |
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$ | |
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 " For version 5.x: Clear all syntax items | |
14 " For version 6.x: Quit when a syntax file was already loaded | |
15 if version < 600 | |
16 syntax clear | |
17 elseif exists("b:current_syntax") | |
18 finish | |
19 endif | |
20 | |
21 " Case does not matter | |
22 syn case ignore | |
23 | |
24 " Environments | |
25 syn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError | |
26 | |
27 " Unmatched braces | |
28 syn match elfBraceError "}" | |
29 | |
30 " All macros must have at least one of these definitions | |
31 syn keyword elfSpecial endmacro | |
32 syn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError | |
33 | |
34 " Preprocessor Commands | |
35 syn keyword elfPPCom define include | |
36 | |
37 " Some keywords | |
38 syn keyword elfKeyword false true null | |
39 syn keyword elfKeyword var format object function endfunction | |
40 | |
41 " Conditionals and loops | |
42 syn keyword elfConditional if else case of endcase for to next while until return goto | |
43 | |
44 " All built-in elf macros end with an '@' | |
45 syn match elfMacro "[0-9_A-Za-z]\+@" | |
46 | |
47 " Strings and characters | |
48 syn region elfString start=+"+ skip=+\\\\\|\\"+ end=+"+ | |
49 | |
50 " Numbers | |
51 syn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>" | |
52 | |
53 " Comments | |
54 syn region elfComment start="/\*" end="\*/" | |
55 syn match elfComment "\'.*$" | |
56 | |
57 syn sync ccomment elfComment | |
58 | |
59 " Parenthesis | |
60 syn match elfParens "[\[\]()]" | |
61 | |
62 " Punctuation | |
63 syn match elfPunct "[,;]" | |
64 | |
65 " Define the default highlighting. | |
66 " For version 5.7 and earlier: only when not done already | |
67 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
68 if version >= 508 || !exists("did_elf_syn_inits") | |
69 if version < 508 | |
70 let did_elf_syn_inits = 1 | |
71 command -nargs=+ HiLink hi link <args> | |
72 else | |
73 command -nargs=+ HiLink hi def link <args> | |
74 endif | |
75 | |
76 " The default methods for highlighting. Can be overridden later. | |
77 HiLink elfComment Comment | |
78 HiLink elfPPCom Include | |
79 HiLink elfKeyword Keyword | |
80 HiLink elfSpecial Special | |
81 HiLink elfEnvironment Special | |
82 HiLink elfBraceError Error | |
83 HiLink elfConditional Conditional | |
84 HiLink elfMacro Function | |
85 HiLink elfNumber Number | |
86 HiLink elfString String | |
87 HiLink elfParens Delimiter | |
88 HiLink elfPunct Delimiter | |
89 | |
90 delcommand HiLink | |
91 endif | |
92 | |
93 let b:current_syntax = "elf" | |
94 | |
95 " vim:ts=8:sw=4:nocindent:smartindent: |