mrxvtrc.vim 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. " Description : Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up)
  2. " Created : Wed 26 Apr 2006 01:20:53 AM CDT
  3. " Modified : Thu 02 Feb 2012 08:37:45 PM EST
  4. " Maintainer : GI <a@b.c>, where a='gi1242+vim', b='gmail', c='com'
  5. " Quit when a syntax file was already loaded
  6. if exists("b:current_syntax")
  7. finish
  8. endif
  9. let s:cpo_save = &cpo
  10. set cpo&vim
  11. syn case match
  12. " Errors
  13. syn match mrxvtrcError contained '\v\S+'
  14. " Comments
  15. syn match mrxvtrcComment contains=@Spell '^\s*[!#].*$'
  16. syn match mrxvtrcComment '\v^\s*[#!]\s*\w+[.*]\w+.*:.*'
  17. "
  18. " Options.
  19. "
  20. syn match mrxvtrcClass '\v^\s*\w+[.*]'
  21. \ nextgroup=mrxvtrcOptions,mrxvtrcProfile,@mrxvtrcPOpts,mrxvtrcError
  22. " Boolean options
  23. syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
  24. \ highlightTabOnBell syncTabTitle hideTabbar
  25. \ autohideTabbar bottomTabbar hideButtons
  26. \ syncTabIcon veryBoldFont maximized
  27. \ fullscreen reverseVideo loginShell
  28. \ jumpScroll scrollBar scrollbarRight
  29. \ scrollbarFloating scrollTtyOutputInhibit
  30. \ scrollTtyKeypress transparentForce
  31. \ transparentScrollbar transparentMenubar
  32. \ transparentTabbar tabUsePixmap utmpInhibit
  33. \ visualBell mapAlert meta8
  34. \ mouseWheelScrollPage multibyte_cursor
  35. \ tripleclickwords showMenu xft xftNomFont
  36. \ xftSlowOutput xftAntialias xftHinting
  37. \ xftAutoHint xftGlobalAdvance cmdAllTabs
  38. \ protectSecondary thai borderLess
  39. \ overrideRedirect broadcast smartResize
  40. \ pointerBlank cursorBlink noSysConfig
  41. \ disableMacros linuxHomeEndKey sessionMgt
  42. \ boldColors smoothResize useFifo veryBright
  43. syn match mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
  44. \ '\v<transparent>'
  45. syn match mrxvtrcBColon contained skipwhite
  46. \ nextgroup=mrxvtrcBoolVal,mrxvtrcError ':'
  47. syn case ignore
  48. syn keyword mrxvtrcBoolVal contained skipwhite nextgroup=mrxvtrcError
  49. \ 0 1 yes no on off true false
  50. syn case match
  51. " Color options
  52. syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError
  53. \ ufBackground textShadow tabForeground
  54. \ itabForeground tabBackground itabBackground
  55. \ scrollColor troughColor highlightColor
  56. \ cursorColor cursorColor2 pointerColor
  57. \ borderColor tintColor
  58. syn match mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError
  59. \ '\v<color([0-9]|1[0-5]|BD|UL|RV)>'
  60. syn match mrxvtrcCColon contained skipwhite
  61. \ nextgroup=mrxvtrcColorVal ':'
  62. syn match mrxvtrcColorVal contained skipwhite nextgroup=mrxvtrcError
  63. \ '\v#[0-9a-fA-F]{6}'
  64. " Numeric options
  65. syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcNColon,mrxvtrcError
  66. \ maxTabWidth minVisibleTabs
  67. \ scrollbarThickness xftmSize xftSize desktop
  68. \ externalBorder internalBorder lineSpace
  69. \ pointerBlankDelay cursorBlinkInterval
  70. \ shading backgroundFade bgRefreshInterval
  71. \ fading opacity opacityDegree xftPSize
  72. syn match mrxvtrcNColon contained skipwhite
  73. \ nextgroup=mrxvtrcNumVal,mrxvtrcError ':'
  74. syn match mrxvtrcNumVal contained skipwhite nextgroup=mrxvtrcError
  75. \ '\v[+-]?<(0[0-7]+|\d+|0x[0-9a-f]+)>'
  76. " String options
  77. syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
  78. \ tabTitle termName title clientName iconName
  79. \ bellCommand backspaceKey deleteKey
  80. \ printPipe cutChars answerbackString
  81. \ smClientID geometry path boldFont xftFont
  82. \ xftmFont xftPFont inputMethod
  83. \ greektoggle_key menu menubarPixmap
  84. \ scrollbarPixmap tabbarPixmap appIcon
  85. \ multichar_encoding initProfileList
  86. syn match mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
  87. \ '\v<m?font[1-5]?>'
  88. syn match mrxvtrcSColon contained skipwhite nextgroup=mrxvtrcStrVal ':'
  89. syn match mrxvtrcStrVal contained '\v\S.*'
  90. " Profile options
  91. syn cluster mrxvtrcPOpts contains=mrxvtrcPSOpts,mrxvtrcPCOpts,mrxvtrcPNOpts
  92. syn match mrxvtrcProfile contained nextgroup=@mrxvtrcPOpts,mrxvtrcError
  93. \ '\vprofile\d+\.'
  94. syn keyword mrxvtrcPSOpts contained nextgroup=mrxvtrcSColon,mrxvtrcError
  95. \ tabTitle command holdExitText holdExitTitle
  96. \ Pixmap workingDirectory titleFormat
  97. \ winTitleFormat
  98. syn keyword mrxvtrcPCOpts contained nextgroup=mrxvtrcCColon,mrxvtrcError
  99. \ background foreground
  100. syn keyword mrxvtrcPNOpts contained nextgroup=mrxvtrcNColon,mrxvtrcError
  101. \ holdExit saveLines
  102. " scrollbarStyle
  103. syn match mrxvtrcOptions contained skipwhite
  104. \ nextgroup=mrxvtrcSBstyle,mrxvtrcError
  105. \ '\v<scrollbarStyle:'
  106. syn keyword mrxvtrcSBstyle contained skipwhite nextgroup=mrxvtrcError
  107. \ plain xterm rxvt next sgi
  108. " scrollbarAlign
  109. syn match mrxvtrcOptions contained skipwhite
  110. \ nextgroup=mrxvtrcSBalign,mrxvtrcError
  111. \ '\v<scrollbarAlign:'
  112. syn keyword mrxvtrcSBalign contained skipwhite nextgroup=mrxvtrcError
  113. \ top bottom
  114. " textShadowMode
  115. syn match mrxvtrcOptions contained skipwhite
  116. \ nextgroup=mrxvtrcTSmode,mrxvtrcError
  117. \ '\v<textShadowMode:'
  118. syn keyword mrxvtrcTSmode contained skipwhite nextgroup=mrxvtrcError
  119. \ none top bottom left right topleft topright
  120. \ botleft botright
  121. " greek_keyboard
  122. syn match mrxvtrcOptions contained skipwhite
  123. \ nextgroup=mrxvtrcGrkKbd,mrxvtrcError
  124. \ '\v<greek_keyboard:'
  125. syn keyword mrxvtrcGrkKbd contained skipwhite nextgroup=mrxvtrcError
  126. \ iso ibm
  127. " xftWeight
  128. syn match mrxvtrcOptions contained skipwhite
  129. \ nextgroup=mrxvtrcXftWt,mrxvtrcError
  130. \ '\v<(xftWeight|xftBoldWeight):'
  131. syn keyword mrxvtrcXftWt contained skipwhite nextgroup=mrxvtrcError
  132. \ light medium demibold bold black
  133. " xftSlant
  134. syn match mrxvtrcOptions contained skipwhite
  135. \ nextgroup=mrxvtrcXftSl,mrxvtrcError
  136. \ '\v<xftSlant:'
  137. syn keyword mrxvtrcXftSl contained skipwhite nextgroup=mrxvtrcError
  138. \ roman italic oblique
  139. " xftWidth
  140. syn match mrxvtrcOptions contained skipwhite
  141. \ nextgroup=mrxvtrcXftWd,mrxvtrcError
  142. \ '\v<xftWidth:'
  143. syn keyword mrxvtrcXftWd contained skipwhite nextgroup=mrxvtrcError
  144. \ ultracondensed ultraexpanded
  145. \ condensed expanded normal
  146. " xftRGBA
  147. syn match mrxvtrcOptions contained skipwhite
  148. \ nextgroup=mrxvtrcXftHt,mrxvtrcError
  149. \ '\v<xftRGBA:'
  150. syn keyword mrxvtrcXftHt contained skipwhite nextgroup=mrxvtrcError
  151. \ rgb bgr vrgb vbgr none
  152. " preeditType
  153. syn match mrxvtrcOptions contained skipwhite
  154. \ nextgroup=mrxvtrcPedit,mrxvtrcError
  155. \ '\v<preeditType:'
  156. syn keyword mrxvtrcPedit contained skipwhite nextgroup=mrxvtrcError
  157. \ OverTheSpot OffTheSpot Root
  158. " modifier
  159. syn match mrxvtrcOptions contained skipwhite
  160. \ nextgroup=mrxvtrcMod,mrxvtrcError
  161. \ '\v<modifier:'
  162. syn keyword mrxvtrcMod contained skipwhite nextgroup=mrxvtrcError
  163. \ alt meta hyper super mod1 mod2 mod3 mod4 mod5
  164. " selectStyle
  165. syn match mrxvtrcOptions contained skipwhite
  166. \ nextgroup=mrxvtrcSelSty,mrxvtrcError
  167. \ '\v<selectStyle:'
  168. syn keyword mrxvtrcSelSty contained skipwhite nextgroup=mrxvtrcError
  169. \ old oldword
  170. "
  171. " Macros
  172. "
  173. syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcKey,mrxvtrcError
  174. \ macro
  175. syn case ignore
  176. syn match mrxvtrcKey contained skipwhite
  177. \ nextgroup=mrxvtrcMacro,mrxvtrcError
  178. \ '\v\.((primary|add|ctrl|alt|meta|shift)\+)*\w+:'
  179. syn case match
  180. " Macros without arguments
  181. syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError
  182. \ Dummy Copy Paste ToggleVeryBold
  183. \ ToggleTransparency ToggleBroadcast
  184. \ ToggleHold SetTitle ToggleMacros
  185. \ ToggleFullscreen Raise
  186. " Macros with a string argument
  187. syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal
  188. \ Esc Str Exec Scroll PrintScreen SaveConfig
  189. " Macros with a numeric argument
  190. syn keyword mrxvtrcMacro contained skipwhite
  191. \ nextgroup=mrxvtrcNumVal,mrxvtrcError
  192. \ Close GotoTab MoveTab ResizeFont UseFifo
  193. " NewTab macro
  194. syn keyword mrxvtrcMacro contained skipwhite
  195. \ nextgroup=mrxvtrcTitle,mrxvtrcShell,mrxvtrcCmd
  196. \ NewTab
  197. syn region mrxvtrcTitle contained oneline skipwhite
  198. \ nextgroup=mrxvtrcShell,mrxvtrcCmd
  199. \ start='"' end='"'
  200. syn match mrxvtrcShell contained nextgroup=mrxvtrcCmd '!'
  201. syn match mrxvtrcCmd contained '\v[^!" \t].*'
  202. " ToggleSubwin macro
  203. syn keyword mrxvtrcMacro contained skipwhite
  204. \ nextgroup=mrxvtrcSubwin,mrxvtrcError
  205. \ ToggleSubwin
  206. syn match mrxvtrcSubwin contained skipwhite nextgroup=mrxvtrcError
  207. \ '\v[-+]?[bmst]>'
  208. "
  209. " Highlighting groups
  210. "
  211. hi def link mrxvtrcError Error
  212. hi def link mrxvtrcComment Comment
  213. hi def link mrxvtrcClass Statement
  214. hi def link mrxvtrcOptions mrxvtrcClass
  215. hi def link mrxvtrcBColon mrxvtrcClass
  216. hi def link mrxvtrcCColon mrxvtrcClass
  217. hi def link mrxvtrcNColon mrxvtrcClass
  218. hi def link mrxvtrcSColon mrxvtrcClass
  219. hi def link mrxvtrcProfile mrxvtrcClass
  220. hi def link mrxvtrcPSOpts mrxvtrcClass
  221. hi def link mrxvtrcPCOpts mrxvtrcClass
  222. hi def link mrxvtrcPNOpts mrxvtrcClass
  223. hi def link mrxvtrcBoolVal Boolean
  224. hi def link mrxvtrcStrVal String
  225. hi def link mrxvtrcColorVal Constant
  226. hi def link mrxvtrcNumVal Number
  227. hi def link mrxvtrcSBstyle mrxvtrcStrVal
  228. hi def link mrxvtrcSBalign mrxvtrcStrVal
  229. hi def link mrxvtrcTSmode mrxvtrcStrVal
  230. hi def link mrxvtrcGrkKbd mrxvtrcStrVal
  231. hi def link mrxvtrcXftWt mrxvtrcStrVal
  232. hi def link mrxvtrcXftSl mrxvtrcStrVal
  233. hi def link mrxvtrcXftWd mrxvtrcStrVal
  234. hi def link mrxvtrcXftHt mrxvtrcStrVal
  235. hi def link mrxvtrcPedit mrxvtrcStrVal
  236. hi def link mrxvtrcMod mrxvtrcStrVal
  237. hi def link mrxvtrcSelSty mrxvtrcStrVal
  238. hi def link mrxvtrcMacro Identifier
  239. hi def link mrxvtrcKey mrxvtrcClass
  240. hi def link mrxvtrcTitle mrxvtrcStrVal
  241. hi def link mrxvtrcShell Special
  242. hi def link mrxvtrcCmd PreProc
  243. hi def link mrxvtrcSubwin mrxvtrcStrVal
  244. let b:current_syntax = "mrxvtrc"
  245. let &cpo = s:cpo_save
  246. unlet s:cpo_save