diff options
Diffstat (limited to 'runtime/syntax/setserial.vim')
-rw-r--r-- | runtime/syntax/setserial.vim | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/runtime/syntax/setserial.vim b/runtime/syntax/setserial.vim new file mode 100644 index 000000000..6d410f57b --- /dev/null +++ b/runtime/syntax/setserial.vim @@ -0,0 +1,120 @@ +" Vim syntax file +" Language: setserial(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-07-04 + +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 |