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