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