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 / runtime / dos / syntax / calendar.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  5.0 KB  |  111 lines

  1. " Vim syntax file
  2. " Language:         calendar(1) input file
  3. " Maintainer:       Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision:  2006-04-19
  5.  
  6. if exists("b:current_syntax")
  7.   finish
  8. endif
  9.  
  10. let s:cpo_save = &cpo
  11. set cpo&vim
  12.  
  13. syn keyword calendarTodo          contained TODO FIXME XXX NOTE
  14.  
  15. syn region  calendarComment       start='/\*' end='\*/'
  16.                                   \ contains=calendarTodo,@Spell
  17.  
  18. syn region  calendarCppString     start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl
  19.                                   \ end=+"+ end='$' contains=calendarSpecial
  20. syn match   calendarSpecial       display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)'
  21. syn match   calendarSpecial       display contained "\\\(u\x\{4}\|U\x\{8}\)"
  22.  
  23. syn region  calendarPreCondit     start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>'
  24.                                   \ skip='\\$' end='$'
  25.                                   \ contains=calendarComment,calendarCppString
  26. syn match   calendarPreCondit     display '^\s*#\s*\%(else\|endif\)\>'
  27. syn region  calendarCppOut        start='^\s*#\s*if\s\+0\+' end='.\@=\|$'
  28.                                   \ contains=calendarCppOut2
  29. syn region  calendarCppOut2       contained start='0'
  30.                                   \ end='^\s*#\s*\%(endif\|else\|elif\)\>'
  31.                                   \ contains=calendarSpaceError,calendarCppSkip
  32. syn region  calendarCppSkip       contained
  33.                                   \ start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>'
  34.                                   \ skip='\\$' end='^\s*#\s*endif\>'
  35.                                   \ contains=calendarSpaceError,calendarCppSkip
  36. syn region  calendarIncluded      display contained start=+"+ skip=+\\\\\|\\"+
  37.                                   \ end=+"+
  38. syn match   calendarIncluded      display contained '<[^>]*>'
  39. syn match   calendarInclude       display '^\s*#\s*include\>\s*["<]'
  40.                                   \ contains=calendarIncluded
  41. syn cluster calendarPreProcGroup  contains=calendarPreCondit,calendarIncluded,
  42.                                   \ calendarInclude,calendarDefine,
  43.                                   \ calendarCppOut,calendarCppOut2,
  44.                                   \ calendarCppSkip,calendarString,
  45.                                   \ calendarSpecial,calendarTodo
  46. syn region  calendarDefine        start='^\s*#\s*\%(define\|undef\)\>'
  47.                                   \ skip='\\$' end='$'
  48.                                   \ contains=ALLBUT,@calendarPreProcGroup
  49. syn region  calendarPreProc       start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>'
  50.                                   \ skip='\\$' end='$' keepend
  51.                                   \ contains=ALLBUT,@calendarPreProcGroup
  52.  
  53. syn keyword calendarKeyword       CHARSET BODUN LANG
  54. syn case ignore
  55. syn keyword calendarKeyword       Easter Pashka
  56. syn case match
  57.  
  58. syn case ignore
  59. syn match   calendarNumber        display '\<\d\+\>'
  60. syn keyword calendarMonth         Jan[uary] Feb[ruary] Mar[ch] Apr[il] May
  61.                                   \ Jun[e] Jul[y] Aug[ust] Sep[tember]
  62.                                   \ Oct[ober] Nov[ember] Dec[ember]
  63. syn match   calendarMonth         display '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.'
  64. syn keyword calendarWeekday       Mon[day] Tue[sday] Wed[nesday] Thu[rsday]
  65. syn keyword calendarWeekday       Fri[day] Sat[urday] Sun[day]
  66. syn match   calendarWeekday       display '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.'
  67.                                   \ nextgroup=calendarWeekdayMod
  68. syn match   calendarWeekdayMod    display '[+-]\d\+\>'
  69. syn case match
  70.  
  71. syn match   calendarTime          display '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\='
  72. syn match   calendarTime          display '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]'
  73.  
  74. syn match calendarVariable        '\*'
  75.  
  76. if exists("c_minlines")
  77.   let b:c_minlines = c_minlines
  78. else
  79.   if !exists("c_no_if0")
  80.     let b:c_minlines = 50       " #if 0 constructs can be long
  81.   else
  82.     let b:c_minlines = 15       " mostly for () constructs
  83.   endif
  84. endif
  85. exec "syn sync ccomment calendarComment minlines=" . b:c_minlines
  86.  
  87. hi def link calendarTodo          Todo
  88. hi def link calendarComment       Comment
  89. hi def link calendarCppString     String
  90. hi def link calendarSpecial       SpecialChar
  91. hi def link calendarPreCondit     PreCondit
  92. hi def link calendarCppOut        Comment
  93. hi def link calendarCppOut2       calendarCppOut
  94. hi def link calendarCppSkip       calendarCppOut
  95. hi def link calendarIncluded      String
  96. hi def link calendarInclude       Include
  97. hi def link calendarDefine        Macro
  98. hi def link calendarPreProc       PreProc
  99. hi def link calendarKeyword       Keyword
  100. hi def link calendarNumber        Number
  101. hi def link calendarMonth         String
  102. hi def link calendarWeekday       String
  103. hi def link calendarWeekdayMod    Special
  104. hi def link calendarTime          Number
  105. hi def link calendarVariable      Identifier
  106.  
  107. let b:current_syntax = "calendar"
  108.  
  109. let &cpo = s:cpo_save
  110. unlet s:cpo_save
  111.