mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:    ELF
 | |
| " Maintainer:  Christian V. J. Brüssow <cvjb@cvjb.de>
 | |
| " Last Change: Son 22 Jun 2003 20:43:14 CEST
 | |
| " Filenames:   *.ab,*.am
 | |
| " URL:	       http://www.cvjb.de/comp/vim/elf.vim
 | |
| " $Id$
 | |
| "
 | |
| " ELF: Extensible Language Facility
 | |
| "      This is the Applix Inc., Macro and Builder programming language.
 | |
| "      It has nothing in common with the binary format called ELF.
 | |
| 
 | |
| " For version 5.x: Clear all syntax items
 | |
| " For version 6.x: Quit when a syntax file was already loaded
 | |
| if version < 600
 | |
| 	syntax clear
 | |
| elseif exists("b:current_syntax")
 | |
| 	finish
 | |
| endif
 | |
| 
 | |
| " Case does not matter
 | |
| syn case ignore
 | |
| 
 | |
| " Environments
 | |
| syn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError
 | |
| 
 | |
| " Unmatched braces
 | |
| syn match elfBraceError "}"
 | |
| 
 | |
| " All macros must have at least one of these definitions
 | |
| syn keyword elfSpecial endmacro
 | |
| syn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError
 | |
| 
 | |
| " Preprocessor Commands
 | |
| syn keyword elfPPCom define include
 | |
| 
 | |
| " Some keywords
 | |
| syn keyword elfKeyword  false true null
 | |
| syn keyword elfKeyword	var format object function endfunction
 | |
| 
 | |
| " Conditionals and loops
 | |
| syn keyword elfConditional if else case of endcase for to next while until return goto
 | |
| 
 | |
| " All built-in elf macros end with an '@'
 | |
| syn match elfMacro "[0-9_A-Za-z]\+@"
 | |
| 
 | |
| " Strings and characters
 | |
| syn region elfString start=+"+  skip=+\\\\\|\\"+  end=+"+
 | |
| 
 | |
| " Numbers
 | |
| syn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>"
 | |
| 
 | |
| " Comments
 | |
| syn region elfComment start="/\*"  end="\*/"
 | |
| syn match elfComment  "\'.*$"
 | |
| 
 | |
| syn sync ccomment elfComment
 | |
| 
 | |
| " Parenthesis
 | |
| syn match elfParens "[\[\]()]"
 | |
| 
 | |
| " Punctuation
 | |
| syn match elfPunct "[,;]"
 | |
| 
 | |
| " Define the default highlighting.
 | |
| " For version 5.7 and earlier: only when not done already
 | |
| " For version 5.8 and later: only when an item doesn't have highlighting yet
 | |
| if version >= 508 || !exists("did_elf_syn_inits")
 | |
| 	if version < 508
 | |
| 		let did_elf_syn_inits = 1
 | |
| 		command -nargs=+ HiLink hi link <args>
 | |
| 	else
 | |
| 		command -nargs=+ HiLink hi def link <args>
 | |
|    endif
 | |
| 
 | |
|   " The default methods for highlighting. Can be overridden later.
 | |
|   HiLink elfComment Comment
 | |
|   HiLink elfPPCom Include
 | |
|   HiLink elfKeyword Keyword
 | |
|   HiLink elfSpecial Special
 | |
|   HiLink elfEnvironment Special
 | |
|   HiLink elfBraceError Error
 | |
|   HiLink elfConditional Conditional
 | |
|   HiLink elfMacro Function
 | |
|   HiLink elfNumber Number
 | |
|   HiLink elfString String
 | |
|   HiLink elfParens Delimiter
 | |
|   HiLink elfPunct Delimiter
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "elf"
 | |
| 
 | |
| " vim:ts=8:sw=4:nocindent:smartindent:
 |