Mercurial > vim
comparison runtime/syntax/lout.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 7bc41231fbc7 |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
1 " Vim syntax file | |
2 " Language: Lout | |
3 " Maintainer: Christian V. J. Brüssow <cvjb@cvjb.de> | |
4 " Last Change: Son 22 Jun 2003 20:43:26 CEST | |
5 " Filenames: *.lout,*.lt | |
6 " URL: http://www.cvjb.de/comp/vim/lout.vim | |
7 " $Id$ | |
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=8:sw=4:nocindent:smartindent: |