summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/setserial.vim
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:44:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:44:24 +0000
commit8baab3c8d7a6f22888bd581cd5c6098fd2e4b5a8 (patch)
tree3537e168b860f2742f6029d70501b5ed7d15d345 /runtime/syntax/setserial.vim
parentInitial commit. (diff)
downloadvim-upstream.tar.xz
vim-upstream.zip
Adding upstream version 2:8.1.0875.upstream/2%8.1.0875upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/syntax/setserial.vim')
-rw-r--r--runtime/syntax/setserial.vim120
1 files changed, 120 insertions, 0 deletions
diff --git a/runtime/syntax/setserial.vim b/runtime/syntax/setserial.vim
new file mode 100644
index 0000000..967fa5f
--- /dev/null
+++ b/runtime/syntax/setserial.vim
@@ -0,0 +1,120 @@
+" Vim syntax file
+" Language: setserial(8) configuration file
+" Previous 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