Vim as XML Editor
Talk0this wiki
" Vim syntax file " Language: Xdebug trace files (context or unified) " Maintainer: Derick Rethans <derick@xdebug.org> " Last Change: 2010 Jun 06
" 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
syn match begin "^TRACE START" syn match end "^TRACE END" syn match date "\[.*\]"
syn match min_memory "+\d\+" syn match pls_memory "-\d\+" syn match nll_memory "+0"
syn match level "->" syn match lineno ":\d\+$"
syn match result ">=>.\+" syn match assignment "=> \$[a-z]\+\(->[a-z]\+\)*\ .*=" syn match assignment "=> \$[a-z]\+\['\([a-z]\+\)*'\]\ .*="
syn match methodcall "\k\+->" syn match staticcall "\k\+::" syn match functionb "\k\+(" syn match functione ") "
syn match main "{main}()" syn match include "include\(_once\)\=('.\+')"
" Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_diff_syntax_inits")
if version < 508 let did_diff_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif
HiLink begin Label HiLink end Label HiLink date Label HiLink assignment Label
HiLink level SpecialChar HiLink result Constant
HiLink min_memory Constant HiLink pls_memory Structure HiLink nll_memory Comment
HiLink main Structure HiLink include Structure HiLink lineno Delimiter HiLink methodcall Function HiLink staticcall Function HiLink functionb Function HiLink functione Function
delcommand HiLink
endif
let b:current_syntax = "xt"
- set foldmethod=expr
- set foldexpr=strlen(substitute(substitute(substitute(substitute(getline(v:lnum),'^TR.*$',,),'\\s>=>','->',\"g\"),'^\\s.\\{20\\}\\(\\s\\+\\)\\?->.*$','\\1',),'\\s\\s','\ ',\"g\"))-2
- set foldlevel=9999
" vim: ts=8 sw=2