" Vim syntax file " Language: hux " Maintainer: Adam Sampson " Last Change: " Filenames: *.hux " $Id: $ " CREDITS: " This is based heavily on xml.vim by Paul Siegmann and Johannes Zellner, as " shipped with VIM. " Quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:hux_cpo_save = &cpo set cpo&vim syn case match syn include @xml syntax/xml.vim unlet b:current_syntax " Stuff that's unique to hux. syn region huxTag \ matchgroup=huxTag start=+<[^ /!?<>"']\@=+ end=+[/>]+ \ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook syn match huxEndTag +>+ syn region huxComment \ start=+<--+ \ end=+-->+ \ extend syn region huxCdata \ start=+<\[\[+ \ end=+]]>+ \ contains=huxCdataStart,huxCdataEnd,@xmlCdataHook,@Spell \ keepend \ extend syn match huxCdataStart +<\[\[+ contained syn match huxCdataEnd +]]>+ contained " Stuff that's the same as XML, and thus copied straight from xml.vim. " I can't just include xml.vim, because the toplevel syntax is different (and " XML element syntax isn't valid in a hux file, for example). syn match huxEntity "&[^; \t]*;" contains=xmlEntityPunct syn region huxProcessing matchgroup=xmlProcessingDelim start="" contains=xmlAttrib,xmlEqual,xmlString syn region huxDocType matchgroup=xmlDocTypeDecl \ start="" \ contains=xmlDocTypeKeyword,xmlInlineDTD,xmlString " These are the same as xml.vim -- they're a bit weird. hi def link huxTag Function hi def link huxEndTag Identifier hi def link huxComment Comment hi def link huxCdata String hi def link huxCdataStart Type hi def link huxCdataEnd Type hi def link huxProcessing Type hi def link huxEntity Statement let b:current_syntax = "hux" let &cpo = s:hux_cpo_save unlet s:hux_cpo_save " vim: ts=8