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 / lout.vim < prev    next >
Encoding:
Text File  |  2003-05-04  |  4.4 KB  |  140 lines

  1. " Vim syntax file
  2. " Language:    Lout
  3. " Maintainer:  Christian V. J. Brⁿssow <cvjb@cvjb.de>
  4. " Last Change: Son 22 Sep 2002 00:13:37 CEST
  5. " Filenames:   *.lout,*.lt
  6. " URL:            http://www.cvjb.de/comp/vim/lout.vim
  7. " $Id: lout.vim,v 1.3 2002/09/21 22:16:17 bobby Exp bobby $
  8. "
  9. " Lout: Basser Lout document formatting system.
  10.  
  11. " For version 5.x: Clear all syntax items
  12. " For version 6.x: Quit when a syntax file was already loaded
  13. if version < 600
  14.     syntax clear
  15. elseif exists("b:current_syntax")
  16.     finish
  17. endif
  18.  
  19. " Lout is case sensitive
  20. syn case match
  21.  
  22. " Synchronization, I know it is a huge number, but normal texts can be
  23. " _very_ long ;-)
  24. syn sync lines=1000
  25.  
  26. " Characters allowed in keywords
  27. " I don't know if 128-255 are allowed in ANS-FORHT
  28. if version >= 600
  29.     setlocal iskeyword=@,48-57,.,@-@,_,192-255
  30. else
  31.     set iskeyword=@,48-57,.,@-@,_,192-255
  32. endif
  33.  
  34. " Some special keywords
  35. syn keyword loutTodo contained TODO lout Lout LOUT
  36. syn keyword loutDefine def macro
  37.  
  38. " Some big structures
  39. syn keyword loutKeyword @Begin @End @Figure @Tab
  40. syn keyword loutKeyword @Book @Doc @Document @Report
  41. syn keyword loutKeyword @Introduction @Abstract @Appendix
  42. syn keyword loutKeyword @Chapter @Section @BeginSections @EndSections
  43.  
  44. " All kind of Lout keywords
  45. syn match loutFunction '\<@[^ \t{}]\+\>'
  46.  
  47. " Braces -- Don`t edit these lines!
  48. syn match loutMBraces '[{}]'
  49. syn match loutIBraces '[{}]'
  50. syn match loutBBrace '[{}]'
  51. syn match loutBIBraces '[{}]'
  52. syn match loutHeads '[{}]'
  53.  
  54. " Unmatched braces.
  55. syn match loutBraceError '}'
  56.  
  57. " End of multi-line definitions, like @Document, @Report and @Book.
  58. syn match loutEOmlDef '^//$'
  59.  
  60. " Grouping of parameters and objects.
  61. syn region loutObject transparent matchgroup=Delimiter start='{' matchgroup=Delimiter end='}' contains=ALLBUT,loutBraceError
  62.  
  63. " The NULL object has a special meaning
  64. syn keyword loutNULL {}
  65.  
  66. " Comments
  67. syn region loutComment start='\#' end='$' contains=loutTodo
  68.  
  69. " Double quotes
  70. syn region loutSpecial start=+"+ skip=+\\\\\|\\"+ end=+"+
  71.  
  72. " ISO-LATIN-1 characters created with @Char, or Adobe symbols
  73. " created with @Sym
  74. syn match loutSymbols '@\(\(Char\)\|\(Sym\)\)\s\+[A-Za-z]\+'
  75.  
  76. " Include files
  77. syn match loutInclude '@IncludeGraphic\s\+\k\+'
  78. syn region loutInclude start='@\(\(SysInclude\)\|\(IncludeGraphic\)\|\(Include\)\)\s*{' end='}'
  79.  
  80. " Tags
  81. syn match loutTag '@\(\(Tag\)\|\(PageMark\)\|\(PageOf\)\|\(NumberOf\)\)\s\+\k\+'
  82. syn region loutTag start='@Tag\s*{' end='}'
  83.  
  84. " Equations
  85. syn match loutMath '@Eq\s\+\k\+'
  86. syn region loutMath matchgroup=loutMBraces start='@Eq\s*{' matchgroup=loutMBraces end='}' contains=ALLBUT,loutBraceError
  87. "
  88. " Fonts
  89. syn match loutItalic '@I\s\+\k\+'
  90. syn region loutItalic matchgroup=loutIBraces start='@I\s*{' matchgroup=loutIBraces end='}' contains=ALLBUT,loutBraceError
  91. syn match loutBold '@B\s\+\k\+'
  92. syn region loutBold matchgroup=loutBBraces start='@B\s*{' matchgroup=loutBBraces end='}' contains=ALLBUT,loutBraceError
  93. syn match loutBoldItalic '@BI\s\+\k\+'
  94. syn region loutBoldItalic matchgroup=loutBIBraces start='@BI\s*{' matchgroup=loutBIBraces end='}' contains=ALLBUT,loutBraceError
  95. syn region loutHeadings matchgroup=loutHeads start='@\(\(Title\)\|\(Caption\)\)\s*{' matchgroup=loutHeads end='}' contains=ALLBUT,loutBraceError
  96.  
  97. " Define the default highlighting.
  98. " For version 5.7 and earlier: only when not done already
  99. " For version 5.8 and later: only when an item doesn't have highlighting yet
  100. if version >= 508 || !exists("did_lout_syn_inits")
  101.     if version < 508
  102.         let did_lout_syn_inits = 1
  103.         command -nargs=+ HiLink hi link <args>
  104.     else
  105.         command -nargs=+ HiLink hi def link <args>
  106.     endif
  107.  
  108.     " The default methods for highlighting. Can be overrriden later.
  109.     HiLink loutTodo Todo
  110.     HiLink loutDefine Define
  111.     HiLink loutEOmlDef Define
  112.     HiLink loutFunction Function
  113.     HiLink loutBraceError Error
  114.     HiLink loutNULL Special
  115.     HiLink loutComment Comment
  116.     HiLink loutSpecial Special
  117.     HiLink loutSymbols Character
  118.     HiLink loutInclude Include
  119.     HiLink loutKeyword Keyword
  120.     HiLink loutTag Tag
  121.     HiLink loutMath Number
  122.  
  123.     " HiLink Not really needed here, but I think it is more consistent.
  124.     HiLink loutMBraces loutMath
  125.     hi loutItalic term=italic cterm=italic gui=italic
  126.     HiLink loutIBraces loutItalic
  127.     hi loutBold term=bold cterm=bold gui=bold
  128.     HiLink loutBBraces loutBold
  129.     hi loutBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
  130.     HiLink loutBIBraces loutBoldItalic
  131.     hi loutHeadings term=bold cterm=bold guifg=indianred
  132.     HiLink loutHeads loutHeadings
  133.  
  134.     delcommand HiLink
  135. endif
  136.  
  137. let b:current_syntax = "lout"
  138.  
  139. " vim:ts=3:sw=3:
  140.