Je ne connais rien aux expressions Vim. J'ai un vim foldexpr qui vient avec un fichier de syntaxe pour les fichiers de trace xdebug. L'expression actuelle ressemble à ceci:Comment écrire Vim foldexpr pour les fichiers de trace xdebug avec memdeltas
foldexpr=strlen(substitute(substitute(substitute(substitute(getline(v:lnum),'^TR.*$','',''),'\\s>=>','->',\"g\"),'^\\s.\\{20\\}\\(\\s\\+\\)\\?->.*$','\\1',''),'\\s\\s','\',\"g\"))-2
Cela fonctionne bien pour les fichiers de trace par défaut, qui ressemblent à ceci:
0.0974 3908596 -> GenericDispatcher->dispatch() /home/tomw/source/public_html/main.php:49
0.0975 3908676 -> ReflectionClass->getMethods() /home/tomw/source/presentation/framework/routing/GenericDispatcher.php:59
0.0975 3910532 -> ReflectionFunctionAbstract->getName() /home/tomw/source/presentation/framework/routing/GenericDispatcher.php:60
etc.
Cependant, si vous configurez Xdebug pour montrer deltas mem dans la trace, les fichiers de trace finissent comme ceci (notez la colonne supplémentaire avec deltas de mémoire, par exemple +80.):
0.0964 3908336 +84 -> GenericDispatcher->dispatch() /home/tomw/source/public_html/main.php:49
0.0965 3908416 +80 -> ReflectionClass->getMethods() /home/tomw/source/presentation/framework/routing/GenericDispatcher.php:59
0.0965 3910272 +1856 -> ReflectionFunctionAbstract->getName() /home/tomw/source/presentation/framework/routing/GenericDispatcher.php:60
Quelqu'un peut-il me dire comment modifier l'expression originale afin que le pliage fonctionne correctement dans le second exemple? Je ne peux pas en faire la tête ni la queue.
Merci
Super, ça fait l'affaire. À votre santé! – EvilPuppetMaster