1" 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 40