home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / eterm.vim < prev    next >
Encoding:
Text File  |  2003-04-25  |  9.8 KB  |  200 lines

  1. " Vim syntax file
  2. " Language:        Eterm configuration file
  3. " Maintainer:        Nikolai 'pcp' Weibull <da.box@home.se>
  4. " URL:            http://www.pcppopper.org/
  5. " Latest Revision:  2002-10-24
  6.  
  7. if version < 600
  8.     syntax clear
  9. elseif exists("b:current_syntax")
  10.     finish
  11. endif
  12.  
  13. " magic number
  14. syn match   etermMagic        display "^<Eterm-[0-9.]\+>$"
  15.  
  16. " comments
  17. syn region  etermComment    matchgroup=etermComment start="^#" end="$" contains=etermTodo
  18.  
  19. " todo
  20. syn keyword etermTodo        contained TODO
  21.  
  22. " numbers
  23. syn match   etermNumber        contained display "\<\(\d\+\|0x\x\{1,2}\)\>"
  24.  
  25. " strings
  26. syn region  etermString        contained display oneline start=+"+ skip=+\\"+ end=+"+
  27.  
  28. " booleans
  29. syn keyword etermBoolean    contained on off true false yes no
  30.  
  31. " colors (not pretty, but can't figure out better way...)
  32. syn match   etermColor        contained display "\s\+#\x\{6}\>"
  33. syn keyword etermColor        contained white black
  34.  
  35. " preproc
  36. syn match   etermPreProc    contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1
  37.  
  38. " functions
  39. syn match   etermFunctions    contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)("
  40.  
  41. " and make it easy to refer to the above...
  42. syn cluster etermGeneral    contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc
  43.  
  44. " key modifiers
  45. syn keyword etermKeyMod        contained ctrl shift lock mod1 mod2 mod3 mod4 mod5 alt meta anymod
  46. syn keyword etermKeyMod        contained button1 button2 button3 button4 button5
  47.  
  48. " color context
  49. syn region  etermColorOptions    contained oneline matchgroup=etermOption start="^\s*video\>" matchgroup=etermType end="\<\(normal\|reverse\)\>"
  50. syn region  etermColorOptions    contained oneline matchgroup=etermOption start="^\s*color\>" matchgroup=etermType end="\<\(bd\|ul\|[0-9]\|1[0-5]\)\>"
  51. syn keyword etermColorOptions    contained foreground background cursor cursor_text pointer
  52.  
  53. syn region  etermColorContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions
  54.  
  55. " attributes context
  56. syn region  etermAttrOptions    contained oneline matchgroup=etermOption start="^\s*geometry\>" matchgroup=etermType end="\<\d\+x\d\++\d\++\d\+\>"
  57. syn region  etermAttrOptions    contained oneline matchgroup=etermOption start="^\s*scrollbar_type\>" matchgroup=etermType end="\<\(motif\|xterm\|next\)\>"
  58. syn region  etermAttrOptions    contained oneline matchgroup=etermOption start="^\s*font\>" matchgroup=etermType end="\<\(bold\|default\|proportional\|fx\|[0-5]\)\>"
  59. syn keyword etermAttrOptions    contained title name iconname desktop scrollbar_width
  60.  
  61. syn region  etermAttrContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+attributes\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermAttrOptions
  62.  
  63. " image context
  64. " image types
  65. syn keyword etermImageTypes    contained background trough anchor up_arrow
  66. syn keyword etermImageTypes    contained left_arrow right_arrow menu menuitem
  67. syn keyword etermImageTypes    contained submenu button buttonbar down_arrow
  68. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*type\>" end="$" contains=etermImageTypes
  69. " image modes
  70. syn keyword etermImageModes    contained image trans viewport auto solid
  71. syn keyword etermImageModesAllow contained allow
  72. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*mode\>" end="$" contains=etermImageModes,etermImageModesAllow
  73. " image states
  74. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*state\>" matchgroup=etermType end="\<\(normal\|selected\|clicked\|disabled\)\>"
  75. " image geometry
  76. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*geom\>" matchgroup=etermType end="\s\+\(\d\+x\d\++\d\++\d\+\)\=:\(\(tile\|scale\|hscale\|vscale\|propscale\)d\=\)\="
  77. " image color modification
  78. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*\(cmod\|colormod\)\>" matchgroup=etermType end="\<\(image\|red\|green\|blue\)\>"
  79. " other keywords
  80. syn keyword etermImageOptions    contained file padding border bevel color
  81.  
  82. syn region  etermImageContext    contained transparent fold matchgroup=etermContext start="^\s*begin\s\+image\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageOptions
  83.  
  84. " imageclasses context
  85. syn keyword etermIClassOptions    contained icon cache path anim
  86.  
  87. syn region  etermIClassContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+imageclasses\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageContext,etermIClassOptions
  88.  
  89. " menuitem context
  90. syn region  etermMenuItemOptions contained transparent oneline matchgroup=etermOption start="^\s*action\>" matchgroup=etermType end="\<string\|echo\|submenu\|script\|separator\>"
  91. syn keyword etermMenuItemOptions contained text rtext
  92.  
  93. syn region  etermMenuItemContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menuitem\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuItemOptions
  94.  
  95. " menu context (should contain - as well, but no...)
  96. syn keyword etermMenuOptions    contained title font_name sep
  97.  
  98. syn region  etermMenuContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+menu\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuOptions,etermMenuItemContext
  99.  
  100. " action context
  101. syn match   etermActionDef    contained "\<\(to\|string\|echo\|menu\|script\)\>"
  102. syn region  etermActionsOptions    contained transparent oneline matchgroup=etermOption start="^\s*bind\>" end="$" contains=etermActionDef,etermKeyMod
  103.  
  104. syn region  etermActionsContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+actions\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermActionsOptions
  105.  
  106. " button bar context
  107. syn match   etermButtonDef    contained "\<\(action\|string\|echo\|menu\|scrupt\)\>"
  108. syn region  etermButtonOptions    contained transparent oneline matchgroup=etermOption start="^\s*button\>" end="$" contains=etermButtonDef
  109. syn keyword etermButtonOptions    contained font visible dock
  110.  
  111. syn region  etermButtonContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+button_bar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermButtonOptions
  112.  
  113. " multichar context
  114. syn keyword etermMultiOptions    contained encoding font
  115.  
  116. syn region  etermMultiContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions
  117.  
  118. " xim context
  119. syn keyword etermXimOptions     contained input_method preedit_type
  120.  
  121. syn region  etermXimContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions
  122.  
  123. " toggles context
  124. syn keyword etermTogOptions    contained map_alert visual_bell login_shell scrollbar utmp_logging meta8 iconic no_input
  125. syn keyword etermTogOptions    contained home_on_output home_on_input scrollbar_floating scrollbar_right scrollbar_popup
  126. syn keyword etermTogOptions    contained borderless double_buffer no_cursor pause xterm_select select_line
  127. syn keyword etermTogOptions    contained select_trailing_spaces report_as_keysyms itrans immotile_trans buttonbar
  128. syn keyword etermTogOptions    contained resize_gravity
  129.  
  130. syn region  etermTogContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions
  131.  
  132. " keyboard context
  133. syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym meta_mod alt_mod
  134. syn keyword etermKeyboardOptions contained greek numlock_mod app_keypad app_cursor
  135.  
  136. syn region  etermKeyboardContext fold transparent  matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions
  137.  
  138. " misc context
  139. syn keyword etermMiscOptions    contained print_pipe save_lines cut_chars min_anchor_size
  140. syn keyword etermMiscOptions    contained border_width line_space finished_title term_name
  141. syn keyword etermMiscOptions    contained finished_text exec
  142.  
  143. syn region  etermMiscContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions
  144.  
  145. if exists("eterm_minlines")
  146.     let b:eterm_minlines = eterm_minlines
  147. else
  148.     let b:eterm_minlines = 30
  149. endif
  150. exec "syn sync minlines=" . b:eterm_minlines
  151.  
  152. " Define the default highlighting.
  153. " For version 5.7 and earlier: only when not done already
  154. " For version 5.8 and later: only when an item doesn't have highlighting yet
  155. if version >= 508 || !exists("did_eterm_syn_inits")
  156.     if version < 508
  157.     let did_eterm_syn_inits = 1
  158.     command -nargs=+ HiLink hi link <args>
  159.     else
  160.     command -nargs=+ HiLink hi def link <args>
  161.     endif
  162.  
  163.     HiLink etermMagic        Special
  164.     HiLink etermComment        Comment
  165.     HiLink etermTodo        Todo
  166.     HiLink etermNumber        Number
  167.     HiLink etermString        String
  168.     HiLink etermBoolean        Boolean
  169.     HiLink etermColor        Number
  170.     HiLink etermPreProc        PreProc
  171.     HiLink etermFunctions    Function
  172.     HiLink etermKeyMod        Special
  173.     HiLink etermContext        Keyword
  174.     HiLink etermOption        Keyword
  175.     HiLink etermType        Type
  176.     HiLink etermColorOptions    Keyword
  177.     HiLink etermAttrOptions    Keyword
  178.     HiLink etermIClassOptions    Keyword
  179.     HiLink etermImageTypes    Type
  180.     HiLink etermImageModes    Type
  181.     HiLink etermImageModesAllow    Keyword
  182.     HiLink etermImageOptions    Keyword
  183.     HiLink etermMenuOptions    Keyword
  184.     HiLink etermMenuItemOptions    Keyword
  185.     HiLink etermActionDef    Type
  186.     HiLink etermActionsOptions    Keyword
  187.     HiLink etermButtonDef    Type
  188.     HiLink etermButtonOptions    Keyword
  189.     HiLink etermMultiOptions    Keyword
  190.     HiLink etermXimOptions    Keyword
  191.     HiLink etermTogOptions    Keyword
  192.     HiLink etermKeyboardOptions    Keyword
  193.     HiLink etermMiscOptions    Keyword
  194.     delcommand HiLink
  195. endif
  196.  
  197. let b:current_syntax = "eterm"
  198.  
  199. "  vim: set sw=4 sts=4:
  200.