annotate runtime/syntax/calendar.vim @ 34:e170173ecb68 current-release

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