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