Permalink
Browse files

Add XDebug function trace syntax

  • Loading branch information...
1 parent 80afff6 commit a7c7d21c605e9468b32fa1083a28b6c6995bbbac @sandermarechal committed Mar 19, 2012
Showing with 79 additions and 0 deletions.
  1. +1 −0 ftdetect/xt.vim
  2. +78 −0 syntax/xt.vim
View
@@ -0,0 +1 @@
+au BufNewFile,BufRead *.xt setf xt
View
@@ -0,0 +1,78 @@
+" 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

0 comments on commit a7c7d21

Please sign in to comment.