forked from aniani/vim
		
	
		
			
				
	
	
		
			121 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:         setserial(8) configuration file
 | |
| " Maintainer:       Nikolai Weibull <now@bitwi.se>
 | |
| " Latest Revision:  2006-04-19
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| syn match   setserialBegin      display '^'
 | |
|                                 \ nextgroup=setserialDevice,setserialComment
 | |
|                                 \ skipwhite
 | |
| 
 | |
| syn match   setserialDevice     contained display '\%(/[^ \t/]*\)\+'
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn keyword setserialParameter  contained port irq baud_base divisor
 | |
|                                 \ close_delay closing_wait rx_trigger
 | |
|                                 \ tx_trigger flow_off flow_on rx_timeout
 | |
|                                 \ nextgroup=setserialNumber skipwhite
 | |
| 
 | |
| syn keyword setserialParameter  contained uart
 | |
|                                 \ nextgroup=setserialUARTType skipwhite
 | |
| 
 | |
| syn keyword setserialParameter  contained autoconfig auto_irq skip_test
 | |
|                                 \ spd_hi spd_vhi spd_shi spd_warp spd_cust
 | |
|                                 \ spd_normal sak fourport session_lockout
 | |
|                                 \ pgrp_lockout hup_notify split_termios
 | |
|                                 \ callout_nohup low_latency
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn match   setserialParameter  contained display
 | |
|                                 \ '\^\%(auto_irq\|skip_test\|sak\|fourport\)'
 | |
|                                 \ contains=setserialNegation
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn match   setserialParameter  contained display
 | |
|                                 \ '\^\%(session_lockout\|pgrp_lockout\)'
 | |
|                                 \ contains=setserialNegation
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn match   setserialParameter  contained display
 | |
|                                 \ '\^\%(hup_notify\|split_termios\)'
 | |
|                                 \ contains=setserialNegation
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn match   setserialParameter  contained display
 | |
|                                 \ '\^\%(callout_nohup\|low_latency\)'
 | |
|                                 \ contains=setserialNegation
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn keyword setserialParameter  contained set_multiport
 | |
|                                 \ nextgroup=setserialMultiport skipwhite
 | |
| 
 | |
| syn match   setserialNumber     contained display '\<\d\+\>'
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| syn match   setserialNumber     contained display '0x\x\+'
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn keyword setserialUARTType   contained none
 | |
| 
 | |
| syn match   setserialUARTType   contained display
 | |
|                                 \ '8250\|16[4789]50\|16550A\=\|16650\%(V2\)\='
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn match   setserialUARTType   contained display '166[59]4'
 | |
|                                 \ nextgroup=setserialParameter skipwhite
 | |
| 
 | |
| syn match   setserialNegation   contained display '\^'
 | |
| 
 | |
| syn match   setserialMultiport  contained '\<port\d\+\>'
 | |
|                                 \ nextgroup=setserialPort skipwhite
 | |
| 
 | |
| syn match   setserialPort       contained display '\<\d\+\>'
 | |
|                                 \ nextgroup=setserialMask skipwhite
 | |
| syn match   setserialPort       contained display '0x\x\+'
 | |
|                                 \ nextgroup=setserialMask skipwhite
 | |
| 
 | |
| syn match   setserialMask       contained '\<mask\d\+\>'
 | |
|                                 \ nextgroup=setserialBitMask skipwhite
 | |
| 
 | |
| syn match   setserialBitMask    contained display '\<\d\+\>'
 | |
|                                 \ nextgroup=setserialMatch skipwhite
 | |
| syn match   setserialBitMask    contained display '0x\x\+'
 | |
|                                 \ nextgroup=setserialMatch skipwhite
 | |
| 
 | |
| syn match   setserialMatch      contained '\<match\d\+\>'
 | |
|                                 \ nextgroup=setserialMatchBits skipwhite
 | |
| 
 | |
| syn match   setserialMatchBits  contained display '\<\d\+\>'
 | |
|                                 \ nextgroup=setserialMultiport skipwhite
 | |
| syn match   setserialMatchBits  contained display '0x\x\+'
 | |
|                                 \ nextgroup=setserialMultiport skipwhite
 | |
| 
 | |
| syn keyword setserialTodo       contained TODO FIXME XXX NOTE
 | |
| 
 | |
| syn region  setserialComment    display oneline start='^\s*#' end='$'
 | |
|                                 \ contains=setserialTodo,@Spell
 | |
| 
 | |
| hi def link setserialTodo       Todo
 | |
| hi def link setserialComment    Comment
 | |
| hi def link setserialDevice     Normal
 | |
| hi def link setserialParameter  Identifier
 | |
| hi def link setserialNumber     Number
 | |
| hi def link setserialUARTType   Type
 | |
| hi def link setserialNegation   Operator
 | |
| hi def link setserialMultiport  Type
 | |
| hi def link setserialPort       setserialNumber
 | |
| hi def link setserialMask       Type
 | |
| hi def link setserialBitMask    setserialNumber
 | |
| hi def link setserialMatch      Type
 | |
| hi def link setserialMatchBits  setserialNumber
 | |
| 
 | |
| let b:current_syntax = "setserial"
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 |