blob: f7a7fdfdc2dff8c722d66f4adc31f71624f31502 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: WEB
3" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
4" Last Change: April 30, 2001
5
6" Details of the WEB language can be found in the article by Donald E. Knuth,
7" "The WEB System of Structured Documentation", included as "webman.tex" in
8" the standard WEB distribution, available for anonymous ftp at
9" ftp://labrea.stanford.edu/pub/tex/web/.
10
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if version < 600
14 syntax clear
15elseif exists("b:current_syntax")
16 finish
17endif
18
19" Although WEB is the ur-language for the "Literate Programming" paradigm,
20" we base this syntax file on the modern superset, CWEB. Note: This shortcut
21" may introduce some illegal constructs, e.g., CWEB's "@c" does _not_ start a
22" code section in WEB. Anyway, I'm not a WEB programmer.
23if version < 600
24 source <sfile>:p:h/cweb.vim
25else
26 runtime! syntax/cweb.vim
27 unlet b:current_syntax
28endif
29
30" Replace C/C++ syntax by Pascal syntax.
31syntax include @webIncludedC <sfile>:p:h/pascal.vim
32
33" Double-@ means single-@, anywhere in the WEB source (as in CWEB).
34" Don't misinterpret "@'" as the start of a Pascal string.
35syntax match webIgnoredStuff "@[@']"
36
37let b:current_syntax = "web"
38
39" vim: ts=8