setserial.vim 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. " Vim syntax file
  2. " Language: setserial(8) configuration file
  3. " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision: 2006-04-19
  5. if exists("b:current_syntax")
  6. finish
  7. endif
  8. let s:cpo_save = &cpo
  9. set cpo&vim
  10. syn match setserialBegin display '^'
  11. \ nextgroup=setserialDevice,setserialComment
  12. \ skipwhite
  13. syn match setserialDevice contained display '\%(/[^ \t/]*\)\+'
  14. \ nextgroup=setserialParameter skipwhite
  15. syn keyword setserialParameter contained port irq baud_base divisor
  16. \ close_delay closing_wait rx_trigger
  17. \ tx_trigger flow_off flow_on rx_timeout
  18. \ nextgroup=setserialNumber skipwhite
  19. syn keyword setserialParameter contained uart
  20. \ nextgroup=setserialUARTType skipwhite
  21. syn keyword setserialParameter contained autoconfig auto_irq skip_test
  22. \ spd_hi spd_vhi spd_shi spd_warp spd_cust
  23. \ spd_normal sak fourport session_lockout
  24. \ pgrp_lockout hup_notify split_termios
  25. \ callout_nohup low_latency
  26. \ nextgroup=setserialParameter skipwhite
  27. syn match setserialParameter contained display
  28. \ '\^\%(auto_irq\|skip_test\|sak\|fourport\)'
  29. \ contains=setserialNegation
  30. \ nextgroup=setserialParameter skipwhite
  31. syn match setserialParameter contained display
  32. \ '\^\%(session_lockout\|pgrp_lockout\)'
  33. \ contains=setserialNegation
  34. \ nextgroup=setserialParameter skipwhite
  35. syn match setserialParameter contained display
  36. \ '\^\%(hup_notify\|split_termios\)'
  37. \ contains=setserialNegation
  38. \ nextgroup=setserialParameter skipwhite
  39. syn match setserialParameter contained display
  40. \ '\^\%(callout_nohup\|low_latency\)'
  41. \ contains=setserialNegation
  42. \ nextgroup=setserialParameter skipwhite
  43. syn keyword setserialParameter contained set_multiport
  44. \ nextgroup=setserialMultiport skipwhite
  45. syn match setserialNumber contained display '\<\d\+\>'
  46. \ nextgroup=setserialParameter skipwhite
  47. syn match setserialNumber contained display '0x\x\+'
  48. \ nextgroup=setserialParameter skipwhite
  49. syn keyword setserialUARTType contained none
  50. syn match setserialUARTType contained display
  51. \ '8250\|16[4789]50\|16550A\=\|16650\%(V2\)\='
  52. \ nextgroup=setserialParameter skipwhite
  53. syn match setserialUARTType contained display '166[59]4'
  54. \ nextgroup=setserialParameter skipwhite
  55. syn match setserialNegation contained display '\^'
  56. syn match setserialMultiport contained '\<port\d\+\>'
  57. \ nextgroup=setserialPort skipwhite
  58. syn match setserialPort contained display '\<\d\+\>'
  59. \ nextgroup=setserialMask skipwhite
  60. syn match setserialPort contained display '0x\x\+'
  61. \ nextgroup=setserialMask skipwhite
  62. syn match setserialMask contained '\<mask\d\+\>'
  63. \ nextgroup=setserialBitMask skipwhite
  64. syn match setserialBitMask contained display '\<\d\+\>'
  65. \ nextgroup=setserialMatch skipwhite
  66. syn match setserialBitMask contained display '0x\x\+'
  67. \ nextgroup=setserialMatch skipwhite
  68. syn match setserialMatch contained '\<match\d\+\>'
  69. \ nextgroup=setserialMatchBits skipwhite
  70. syn match setserialMatchBits contained display '\<\d\+\>'
  71. \ nextgroup=setserialMultiport skipwhite
  72. syn match setserialMatchBits contained display '0x\x\+'
  73. \ nextgroup=setserialMultiport skipwhite
  74. syn keyword setserialTodo contained TODO FIXME XXX NOTE
  75. syn region setserialComment display oneline start='^\s*#' end='$'
  76. \ contains=setserialTodo,@Spell
  77. hi def link setserialTodo Todo
  78. hi def link setserialComment Comment
  79. hi def link setserialDevice Normal
  80. hi def link setserialParameter Identifier
  81. hi def link setserialNumber Number
  82. hi def link setserialUARTType Type
  83. hi def link setserialNegation Operator
  84. hi def link setserialMultiport Type
  85. hi def link setserialPort setserialNumber
  86. hi def link setserialMask Type
  87. hi def link setserialBitMask setserialNumber
  88. hi def link setserialMatch Type
  89. hi def link setserialMatchBits setserialNumber
  90. let b:current_syntax = "setserial"
  91. let &cpo = s:cpo_save
  92. unlet s:cpo_save