mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 23:39:35 +00:00 
			
		
		
		
	
		
			
	
	
		
			70 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	Asterisk Extension Language | ||
|  | " Maintainer:	tilghman | ||
|  | " Last Change:	2009 Mar 04  | ||
|  | " version 0.1 | ||
|  | " | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | syn sync clear | ||
|  | syn sync fromstart | ||
|  | 
 | ||
|  | syn keyword     aelTodo            TODO contained | ||
|  | syn keyword     aelKeyword         context includes macro globals if else switch case default catch return switches includes for ignorepat | ||
|  | syn match       aelComment         "//.*" contains=aelTodo | ||
|  | syn match       aelContext         "\s+\zs[[:alpha:]][[:alnum:]\-_]*\ze\s*{" | ||
|  | " Macro declaration | ||
|  | syn match       aelMacro           "[[:alpha:]][[:alnum:]\-_]*(.\{-})\ze\s*{" contains=aelVar,aelFunction,aelExp,aelArgs | ||
|  | " Macro reference | ||
|  | syn match       aelMacro           "&[[:alpha:]][[:alnum:]\-_]*(.\{-});" contains=aelVar,aelFunction,aelExp,aelArgs | ||
|  | " Ranges or other pattern characters | ||
|  | syn match       aelExten           "\zs_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*\-]\)\+[\.!]\?\ze\s+=>" | ||
|  | syn match       aelExten           "\zs[[:alnum:]#*]\+\ze\s*=>" | ||
|  | syn match       aelApp             "\s\+\zs[[:alpha:]][[:alpha:]_]\+\ze[; ]" | ||
|  | syn match       aelApp             "\s\+\zs[[:alpha:]][[:alpha:]_]\+\ze(.\{-});" | ||
|  | syn match       aelLabel           "[[:alpha:]][[:alnum:]]*\ze:" | ||
|  | syn region      aelVar             matchgroup=aelVarStart start="\${" end="}" contains=aelVar,aelFunction,aelExp | ||
|  | syn match       aelVar             "\zs[[:alpha:]][[:alnum:]_]*\ze=" contains=aelVar,aelFunction,aelExp | ||
|  | " Retrieving the value of a function | ||
|  | syn match       aelFunction        "\${_\{0,2}[[:alpha:]][[:alnum:]_]*(.\{-})}" contains=aelVar,aelFunction,aelExp | ||
|  | " Setting a function | ||
|  | syn match       aelFunction        "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=aelVar,aelFunction,aelExp | ||
|  | syn region      aelExp             matchgroup=aelExpStart start="\$\[" end="]" contains=aelVar,aelFunction,aelExp | ||
|  | syn match       aelArgs            "([[:alnum:]_, ]*)" contains=aelArgsElement contained | ||
|  | syn match       aelArgsElement     "[[:alpha:]][[:alnum:]_]*" contained | ||
|  | 
 | ||
|  | " 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_conf_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_conf_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink        aelComment         Comment | ||
|  |   HiLink        aelContext         Preproc | ||
|  |   HiLink        aelMacro           Preproc | ||
|  |   HiLink        aelExten           Type | ||
|  |   HiLink        aelLabel           Type | ||
|  |   HiLink        aelApp             Preproc | ||
|  |   HiLink        aelVar             String | ||
|  |   HiLink        aelVarStart        String | ||
|  |   HiLink        aelArgsElement     String | ||
|  |   HiLink        aelFunction        Function | ||
|  |   HiLink        aelExp             Type | ||
|  |   HiLink        aelExpStart        Type | ||
|  |   HiLink        aelKeyword         Statement | ||
|  |   HiLink        aelError           Error | ||
|  |  delcommand HiLink | ||
|  | endif | ||
|  | let b:current_syntax = "ael"  | ||
|  | " vim: ts=8 sw=2 | ||
|  | 
 |