gulp-phug 1.3.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +26 -0
  2. package/index.js +38 -10
  3. package/package.json +4 -4
  4. package/support/bootstrap.php +6 -0
  5. package/support/composer.json +1 -1
  6. package/support/composer.lock +94 -179
  7. package/support/vendor/autoload.php +15 -0
  8. package/support/vendor/bin/phug +119 -0
  9. package/support/vendor/bin/var-dump-server +119 -0
  10. package/support/vendor/composer/ClassLoader.php +166 -32
  11. package/support/vendor/composer/InstalledVersions.php +387 -329
  12. package/support/vendor/composer/autoload_classmap.php +1 -5
  13. package/support/vendor/composer/autoload_files.php +2 -3
  14. package/support/vendor/composer/autoload_namespaces.php +1 -1
  15. package/support/vendor/composer/autoload_psr4.php +3 -4
  16. package/support/vendor/composer/autoload_real.php +12 -37
  17. package/support/vendor/composer/autoload_static.php +6 -17
  18. package/support/vendor/composer/installed.json +99 -186
  19. package/support/vendor/composer/installed.php +129 -151
  20. package/support/vendor/composer/platform_check.php +15 -4
  21. package/support/vendor/phug/phug/.github/workflows/coverage.yml +61 -0
  22. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  24. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  25. package/support/vendor/phug/phug/.github/workflows/tests.yml +48 -0
  26. package/support/vendor/phug/phug/.multi-tester.yml +47 -17
  27. package/support/vendor/phug/phug/composer.json +27 -18
  28. package/support/vendor/phug/phug/phpcs.xml +4 -0
  29. package/support/vendor/phug/phug/phpunit.xml +2 -0
  30. package/support/vendor/phug/phug/phug +1 -1
  31. package/support/vendor/phug/phug/release.php +8 -0
  32. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +9 -3
  33. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +2 -3
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/AbstractNodeCompiler.php +4 -4
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +4 -4
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentListNodeCompiler.php +1 -1
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +10 -2
  38. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeListNodeCompiler.php +1 -1
  39. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +2 -1
  40. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/BlockNodeCompiler.php +3 -3
  41. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CaseNodeCompiler.php +1 -1
  42. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CodeNodeCompiler.php +2 -2
  43. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CommentNodeCompiler.php +1 -1
  44. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ConditionalNodeCompiler.php +1 -1
  45. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoNodeCompiler.php +1 -1
  46. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoctypeNodeCompiler.php +1 -1
  47. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DocumentNodeCompiler.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/EachNodeCompiler.php +1 -1
  49. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +7 -1
  50. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ExpressionNodeCompiler.php +1 -1
  51. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/FilterNodeCompiler.php +1 -1
  52. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ForNodeCompiler.php +1 -1
  53. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +5 -5
  54. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/KeywordNodeCompiler.php +1 -1
  55. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinCallNodeCompiler.php +1 -1
  56. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinNodeCompiler.php +1 -1
  57. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/TextNodeCompiler.php +1 -1
  58. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/VariableNodeCompiler.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhenNodeCompiler.php +1 -1
  60. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhileNodeCompiler.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/YieldNodeCompiler.php +1 -1
  62. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler.php +2 -2
  64. package/support/vendor/phug/phug/src/Phug/Compiler/CompilerInterface.php +2 -2
  65. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +10 -7
  66. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  67. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +3 -4
  68. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  69. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  70. package/support/vendor/phug/phug/src/Phug/Event/composer.json +2 -3
  71. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractElement.php +1 -1
  72. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +17 -14
  73. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  74. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  75. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  76. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractValueElement.php +3 -3
  77. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AnonymousBlockElement.php +1 -1
  78. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +13 -8
  79. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +7 -4
  80. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +5 -5
  81. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/KeywordElement.php +3 -3
  82. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +13 -11
  83. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  84. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  85. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/VariableElement.php +5 -5
  86. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Event/FormatEvent.php +1 -1
  87. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/HtmlFormat.php +1 -1
  88. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XhtmlFormat.php +1 -1
  89. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +214 -21
  90. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/FormatInterface.php +1 -1
  91. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  92. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  93. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  94. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/PatternTrait.php +1 -1
  95. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  96. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +5 -6
  97. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  98. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +9 -6
  99. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/AbstractToken.php +1 -1
  100. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  101. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  102. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +24 -12
  103. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  104. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  105. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +2 -2
  106. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  107. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  108. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  109. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  110. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  111. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/TokenInterface.php +1 -1
  112. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +4 -5
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node.php +5 -5
  121. package/support/vendor/phug/phug/src/Phug/Parser/Parser/State.php +4 -4
  122. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  123. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  124. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  125. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  126. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  127. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  128. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  129. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  130. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  131. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  132. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  133. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  134. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  135. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  136. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  137. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  138. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  139. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  140. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  141. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  142. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  143. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  144. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  145. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  146. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  147. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  148. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  149. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  150. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  151. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  152. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  153. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  154. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  155. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  156. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  157. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  158. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  159. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  160. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  161. package/support/vendor/phug/phug/src/Phug/Parser/ParserException.php +1 -1
  162. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +5 -6
  163. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  164. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  165. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  166. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/PluginEnablerTrait.php +1 -1
  167. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  168. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +9 -6
  169. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +13 -13
  170. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +6 -2
  171. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  172. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  173. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  174. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  175. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  176. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  177. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  178. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  179. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  180. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  181. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Task/TasksGroup.php +1 -1
  182. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +10 -6
  183. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  184. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  185. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  186. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  187. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  188. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  189. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  190. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  191. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  192. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  193. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  194. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  195. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  196. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  197. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  198. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +2 -1
  199. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  200. package/support/vendor/phug/phug/src/Phug/Util/composer.json +7 -8
  201. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  202. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  203. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  204. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  205. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  206. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  207. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  208. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  209. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  210. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  211. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  212. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  213. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  214. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  215. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  216. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  217. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  218. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  219. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  220. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  221. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  222. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  223. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  224. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  225. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  226. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  227. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  228. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  229. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  230. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  231. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  232. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  233. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  234. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  235. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  236. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  237. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  238. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  239. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  240. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  241. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  242. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  243. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  244. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  245. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  246. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  247. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  248. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  249. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  250. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  251. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  252. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  253. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  254. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  255. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  256. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  257. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  258. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  259. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  260. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  261. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  262. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  263. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  264. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  265. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  266. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  267. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  268. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  269. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  270. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  271. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  272. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  273. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  274. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  275. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  276. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  277. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  278. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  279. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  280. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  281. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  282. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  283. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  284. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  285. package/support/vendor/symfony/var-dumper/README.md +6 -6
  286. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  287. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  288. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  289. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  290. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  291. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  292. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  293. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  294. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  295. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  296. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  297. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  298. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  299. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  300. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  301. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  302. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  303. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  304. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\YieldToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\YieldNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class YieldTokenHandler implements TokenHandlerInterface
9
+ class YieldTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof YieldToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass yield tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = YieldToken::class;
20
12
 
13
+ public function handleYieldToken(YieldToken $token, State $state)
14
+ {
21
15
  $state->setCurrentNode($state->createNode(YieldNode::class, $token));
22
16
  }
23
17
  }
@@ -330,8 +330,8 @@ class Parser implements ModuleContainerInterface
330
330
 
331
331
  foreach ($expandingNodes as $expandingNode) {
332
332
  $current = $expandingNode;
333
- while ($outerNode = $expandingNode->getOuterNode()) {
334
333
 
334
+ while ($outerNode = $expandingNode->getOuterNode()) {
335
335
  /** @var NodeInterface $expandedNode */
336
336
  $expandedNode = $outerNode;
337
337
  $current->setOuterNode(null);
@@ -17,7 +17,7 @@ class ParserException extends LocatedException
17
17
  SourceLocation $location,
18
18
  $message = '',
19
19
  $code = 0,
20
- TokenInterface $relatedToken = null,
20
+ ?TokenInterface $relatedToken = null,
21
21
  $previous = null
22
22
  ) {
23
23
  parent::__construct($location, $message, $code, $previous);
@@ -11,8 +11,7 @@
11
11
  "email": "torben@talesoft.codes"
12
12
  },
13
13
  {
14
- "name": "KyleKatarn",
15
- "email": "jade-php@selfbuild.fr",
14
+ "name": "kylekatarnls",
16
15
  "homepage": "http://github.com/kylekatarnls"
17
16
  }
18
17
  ],
@@ -25,9 +24,9 @@
25
24
  "minimum-stability": "dev",
26
25
  "require": {
27
26
  "php": ">=5.5.0",
28
- "phug/lexer": "^0.5.6 || ^1.0",
29
- "phug/util": "^1.6",
30
- "phug/ast": "^0.1.0 || ^1.0"
27
+ "phug/lexer": "^0.5.6 || ^1.0 || ^2.0",
28
+ "phug/util": "^1.6 || ^2.0",
29
+ "phug/ast": "^0.1.0 || ^1.0 || ^2.0"
31
30
  },
32
31
  "autoload": {
33
32
  "psr-4": {
@@ -36,7 +35,7 @@
36
35
  },
37
36
  "extra": {
38
37
  "branch-alias": {
39
- "dev-master": "1.x-dev"
38
+ "dev-master": "2.x-dev"
40
39
  }
41
40
  }
42
41
  }
@@ -94,7 +94,7 @@ class Cli
94
94
  return false;
95
95
  }
96
96
 
97
- if (!in_array($method, iterator_to_array($this->getAvailableMethods($customMethods)))) {
97
+ if (!in_array($method, iterator_to_array($this->getAvailableMethods($customMethods)), true)) {
98
98
  echo "The method $action is not available as CLI command in the $facade facade.\n";
99
99
  $this->listAvailableMethods($customMethods);
100
100
 
@@ -152,21 +152,21 @@ class Cli
152
152
  {
153
153
  return preg_replace_callback('/[A-Z]/', function ($match) {
154
154
  return '-'.strtolower($match[0]);
155
- }, $string);
155
+ }, (string) $string);
156
156
  }
157
157
 
158
158
  protected function convertToCamelCase($string)
159
159
  {
160
160
  return preg_replace_callback('/-([a-z])/', function ($match) {
161
161
  return strtoupper($match[1]);
162
- }, $string);
162
+ }, (string) $string);
163
163
  }
164
164
 
165
165
  protected function execute($facade, $method, $arguments, $outputFile)
166
166
  {
167
167
  $callable = [$facade, $method];
168
168
  $arguments = array_map(function ($argument) {
169
- return in_array(substr($argument, 0, 1), ['[', '{'])
169
+ return in_array(substr((string) $argument, 0, 1), ['[', '{'], true)
170
170
  ? json_decode($argument, true)
171
171
  : $argument;
172
172
  }, $arguments);
@@ -206,7 +206,7 @@ class Cli
206
206
 
207
207
  protected function getNamedArgumentByEqualOperator(array &$arguments, $index, $name)
208
208
  {
209
- if (preg_match('/^'.preg_quote($name).'=(.*)$/', $arguments[$index], $match)) {
209
+ if (preg_match('/^'.preg_quote($name).'=(.*)$/', (string) $arguments[$index], $match)) {
210
210
  array_splice($arguments, $index, 1);
211
211
 
212
212
  return $match[1];
@@ -54,7 +54,7 @@ trait ExtensionsTrait
54
54
  */
55
55
  public static function hasExtension($extensionClassName)
56
56
  {
57
- return in_array(static::normalizeExtensionClassName($extensionClassName), static::getExtensionIds());
57
+ return in_array(static::normalizeExtensionClassName($extensionClassName), static::getExtensionIds(), true);
58
58
  }
59
59
 
60
60
  /**
@@ -36,7 +36,7 @@ trait FacadeOptionsTrait
36
36
  'setOptionsRecursive',
37
37
  'setOptionsDefaults',
38
38
  'unsetOption',
39
- ]);
39
+ ], true);
40
40
  }
41
41
 
42
42
  protected static function getFacadeOptions()
@@ -15,7 +15,7 @@ trait PluginEnablerTrait
15
15
  *
16
16
  * @throws PhugException
17
17
  */
18
- public static function enable(Renderer $renderer = null)
18
+ public static function enable(?Renderer $renderer = null)
19
19
  {
20
20
  if ($renderer) {
21
21
  static::activateOnRenderer($renderer);
@@ -2,6 +2,7 @@
2
2
 
3
3
  namespace Phug;
4
4
 
5
+ use InvalidArgumentException;
5
6
  use Phug\Partial\ExtensionsTrait;
6
7
  use Phug\Partial\FacadeOptionsTrait;
7
8
 
@@ -476,16 +477,24 @@ class Phug
476
477
  */
477
478
  public static function cacheDirectory($source, $destination = null, $options = null)
478
479
  {
479
- if ($destination && !is_array($destination)) {
480
+ $options = $options ?: [];
481
+ $destination = $destination ?: [];
482
+
483
+ if (!is_array($destination)) {
480
484
  $destination = [
481
485
  'cache_dir' => $destination,
482
486
  ];
483
487
  }
484
488
 
485
- return static::getRenderer(array_merge(
486
- $options ?: [],
487
- $destination ?: []
488
- ))->cacheDirectory($source);
489
+ if (!is_array($options)) {
490
+ throw new InvalidArgumentException(
491
+ 'Expected $options to be an array, got: '.
492
+ (@var_export($options, true) ?: (is_object($options) ? get_class($options) : gettype($options)))
493
+ );
494
+ }
495
+
496
+ return static::getRenderer(array_merge($options, $destination))
497
+ ->cacheDirectory($source);
489
498
  }
490
499
 
491
500
  /**
@@ -7,9 +7,12 @@
7
7
  "homepage": "http://phug-lang.com",
8
8
  "authors": [
9
9
  {
10
- "name": "KyleKatarn",
11
- "email": "jade-php@selfbuild.fr",
10
+ "name": "kylekatarnls",
12
11
  "homepage": "http://github.com/kylekatarnls"
12
+ },
13
+ {
14
+ "name": "Torben Koehn",
15
+ "email": "torben@talesoft.codes"
13
16
  }
14
17
  ],
15
18
  "support": {
@@ -21,9 +24,9 @@
21
24
  "minimum-stability": "dev",
22
25
  "require": {
23
26
  "php": ">=5.5.0",
24
- "phug/invoker": "^1.5",
25
- "phug/renderer": "^1.3",
26
- "phug/util": "^1.5"
27
+ "phug/invoker": "^1.5 || ^2.0",
28
+ "phug/renderer": "^1.3 || ^2.0",
29
+ "phug/util": "^1.5 || ^2.0"
27
30
  },
28
31
  "autoload": {
29
32
  "psr-4": {
@@ -37,7 +40,7 @@
37
40
  },
38
41
  "extra": {
39
42
  "branch-alias": {
40
- "dev-master": "1.x-dev"
43
+ "dev-master": "2.x-dev"
41
44
  }
42
45
  }
43
46
  }
@@ -313,9 +313,9 @@ class Reader
313
313
  *
314
314
  * Notice that ^ is automatically prepended to the pattern.
315
315
  *
316
- * @param string $pattern the regular expression without slashes or modifiers.
317
- * @param string $modifiers the modifiers for the regular expression.
318
- * @param string $ignoredSuffixes characters that are scanned, but don't end up in the consume length.
316
+ * @param string $pattern the regular expression without slashes or modifiers.
317
+ * @param string|null $modifiers the modifiers for the regular expression.
318
+ * @param string|null $ignoredSuffixes characters that are scanned, but don't end up in the consume length.
319
319
  *
320
320
  * @throws ReaderException
321
321
  *
@@ -323,7 +323,7 @@ class Reader
323
323
  */
324
324
  public function match($pattern, $modifiers = null, $ignoredSuffixes = null)
325
325
  {
326
- $modifiers = $modifiers ?: '';
326
+ $modifiers = (string) $modifiers;
327
327
  $ignoredSuffixes = $ignoredSuffixes ?: "\n";
328
328
  $matches = null;
329
329
  $this->lastMatchResult = null;
@@ -572,7 +572,7 @@ class Reader
572
572
  */
573
573
  public function peekSpace()
574
574
  {
575
- return ctype_space($this->peek());
575
+ return ctype_space((string) $this->peek());
576
576
  }
577
577
 
578
578
  /**
@@ -584,7 +584,7 @@ class Reader
584
584
  */
585
585
  public function peekDigit()
586
586
  {
587
- return ctype_digit($this->peek());
587
+ return ctype_digit((string) $this->peek());
588
588
  }
589
589
 
590
590
  /**
@@ -596,7 +596,7 @@ class Reader
596
596
  */
597
597
  public function peekAlpha()
598
598
  {
599
- return ctype_alpha($this->peek());
599
+ return ctype_alpha((string) $this->peek());
600
600
  }
601
601
 
602
602
  /**
@@ -608,7 +608,7 @@ class Reader
608
608
  */
609
609
  public function peekAlphaNumeric()
610
610
  {
611
- return ctype_alnum($this->peek());
611
+ return ctype_alnum((string) $this->peek());
612
612
  }
613
613
 
614
614
  /**
@@ -618,7 +618,7 @@ class Reader
618
618
  *
619
619
  * @return bool whether it could be or not.
620
620
  */
621
- public function peekAlphaIdentifier(array $allowedChars = null)
621
+ public function peekAlphaIdentifier(?array $allowedChars = null)
622
622
  {
623
623
  $allowedChars = $allowedChars ?: ['_'];
624
624
 
@@ -632,7 +632,7 @@ class Reader
632
632
  *
633
633
  * @return bool whether it could be or not.
634
634
  */
635
- public function peekIdentifier(array $allowedChars = null)
635
+ public function peekIdentifier(?array $allowedChars = null)
636
636
  {
637
637
  return $this->peekAlphaIdentifier($allowedChars) || $this->peekDigit();
638
638
  }
@@ -658,7 +658,7 @@ class Reader
658
658
  */
659
659
  public function readUntilNewLine()
660
660
  {
661
- return $this->readUntil([$this, 'peekNewLine']);
661
+ return (string) $this->readUntil([$this, 'peekNewLine']);
662
662
  }
663
663
 
664
664
  /**
@@ -757,7 +757,7 @@ class Reader
757
757
  *
758
758
  * @return string|null the resulting string or null if none encountered.
759
759
  */
760
- public function readString(array $escapeSequences = null, $raw = false)
760
+ public function readString(?array $escapeSequences = null, $raw = false)
761
761
  {
762
762
  if (!$this->peekQuote()) {
763
763
  return;
@@ -820,7 +820,7 @@ class Reader
820
820
  *
821
821
  * @return string|null the resulting expression or null, if none encountered.
822
822
  */
823
- public function readExpression(array $breaks = null, array $brackets = null)
823
+ public function readExpression(?array $breaks = null, ?array $brackets = null)
824
824
  {
825
825
  if (!$this->hasLength()) {
826
826
  return;
@@ -9,6 +9,10 @@
9
9
  {
10
10
  "name": "Torben Koehn",
11
11
  "email": "torben@talesoft.codes"
12
+ },
13
+ {
14
+ "name": "kylekatarnls",
15
+ "homepage": "http://github.com/kylekatarnls"
12
16
  }
13
17
  ],
14
18
  "support": {
@@ -22,7 +26,7 @@
22
26
  "php": ">=5.5.0",
23
27
  "symfony/polyfill-mbstring": "*",
24
28
  "psr/http-message": "^1.0",
25
- "phug/util": "^0.3.5 || ^1.0"
29
+ "phug/util": "^0.3.5 || ^1.0 || ^2.0"
26
30
  },
27
31
  "autoload": {
28
32
  "psr-4": {
@@ -31,7 +35,7 @@
31
35
  },
32
36
  "extra": {
33
37
  "branch-alias": {
34
- "dev-master": "1.x-dev"
38
+ "dev-master": "2.x-dev"
35
39
  }
36
40
  }
37
41
  }
@@ -364,8 +364,8 @@ class FileAdapter extends AbstractAdapter implements CacheInterface, LocatorInte
364
364
  * Return true if the file or content is up to date in the cache folder,
365
365
  * false else.
366
366
  *
367
- * @param &string $path to be filled
368
- * @param string $input file or pug code
367
+ * @param string &$path to be filled
368
+ * @param string $input file or pug code
369
369
  *
370
370
  * @return bool
371
371
  */
@@ -389,18 +389,35 @@ class FileAdapter extends AbstractAdapter implements CacheInterface, LocatorInte
389
389
  return file_exists($path);
390
390
  }
391
391
 
392
- private function getCacheDirectory()
392
+ private function readCacheDirectoryFromOptions()
393
393
  {
394
394
  $cacheFolder = $this->hasOption('cache_dir')
395
395
  ? $this->getOption('cache_dir')
396
396
  : null;
397
+
397
398
  if (!$cacheFolder && $cacheFolder !== false) {
398
399
  $cacheFolder = $this->getRenderer()->hasOption('cache_dir')
399
400
  ? $this->getRenderer()->getOption('cache_dir')
400
401
  : null;
401
402
  }
403
+
402
404
  if ($cacheFolder === true) {
403
- $cacheFolder = $this->getOption('tmp_dir');
405
+ return $this->getOption('tmp_dir');
406
+ }
407
+
408
+ return $cacheFolder;
409
+ }
410
+
411
+ private function getCacheDirectory()
412
+ {
413
+ $cacheFolder = $this->readCacheDirectoryFromOptions();
414
+
415
+ if ($cacheFolder === null) {
416
+ throw new RuntimeException(
417
+ 'You need to set "cache_dir" option to a writable location in order '.
418
+ 'to use cache feature.',
419
+ 7
420
+ );
404
421
  }
405
422
 
406
423
  if (!is_dir($cacheFolder) && !@mkdir($cacheFolder, 0777, true)) {
@@ -19,6 +19,11 @@ class Template
19
19
  */
20
20
  private $data = '';
21
21
 
22
+ /**
23
+ * @var mixed
24
+ */
25
+ public $context;
26
+
22
27
  /**
23
28
  * @param $path
24
29
  *
@@ -31,7 +31,7 @@ class StreamAdapter extends AbstractAdapter
31
31
  {
32
32
  $stream = $this->getOption('stream_name').$this->getOption('stream_suffix');
33
33
 
34
- if (!in_array($stream, stream_get_wrappers())) {
34
+ if (!in_array($stream, stream_get_wrappers(), true)) {
35
35
  stream_register_wrapper($stream, Template::class);
36
36
  }
37
37
 
@@ -11,7 +11,7 @@ interface CacheInterface
11
11
  /**
12
12
  * Return the cached file path after cache optional process.
13
13
  *
14
- * @param $path
14
+ * @param string $path
15
15
  * @param string $input pug input
16
16
  * @param callable $rendered method to compile the source into PHP
17
17
  * @param bool $success
@@ -145,7 +145,7 @@ trait AdapterTrait
145
145
  $adapter->displayCached($path, $input, $getSource, $parameters);
146
146
  };
147
147
 
148
- return in_array($method, ['display', 'displayFile'])
148
+ return in_array($method, ['display', 'displayFile'], true)
149
149
  ? $display()
150
150
  : $adapter->captureBuffer($display);
151
151
  }
@@ -105,7 +105,7 @@ trait DebuggerTrait
105
105
  $contextLines = $data->options['error_context_lines'];
106
106
  $code = '';
107
107
  $sourceOffset = max(0, $line - 1);
108
- $untilOffset = isset($source[$sourceOffset]) ? (mb_substr($source[$sourceOffset], 0, $offset ?: 0) ?: '') : '';
108
+ $untilOffset = isset($source[$sourceOffset]) ? mb_substr((string) $source[$sourceOffset], 0, $offset ?: 0) : '';
109
109
  $htmlError = $data->options['html_error'];
110
110
  $start = null;
111
111
  foreach ($source as $index => $lineText) {
@@ -178,17 +178,63 @@ trait DebuggerTrait
178
178
  ), $code, $error);
179
179
  }
180
180
 
181
+ /**
182
+ * @return bool
183
+ *
184
+ * @codeCoverageIgnore
185
+ */
181
186
  private function hasColorSupport()
182
187
  {
183
- // @codeCoverageIgnoreStart
184
- return DIRECTORY_SEPARATOR === '\\'
185
- ? false !== getenv('ANSICON') ||
186
- 'ON' === getenv('ConEmuANSI') ||
187
- false !== getenv('BABUN_HOME')
188
- : (false !== getenv('BABUN_HOME')) ||
189
- function_exists('posix_isatty') &&
190
- @posix_isatty(STDOUT);
191
- // @codeCoverageIgnoreEnd
188
+ if ('Hyper' === getenv('TERM_PROGRAM') || getenv('BABUN_HOME') !== false) {
189
+ return true;
190
+ }
191
+
192
+ if (DIRECTORY_SEPARATOR === '\\') {
193
+ return $this->hasStdOutVt100Support()
194
+ || getenv('ANSICON') !== false
195
+ || getenv('ConEmuANSI') === 'ON'
196
+ || getenv('TERM') === 'xterm';
197
+ }
198
+
199
+ return $this->isStdOutATTY();
200
+ }
201
+
202
+ /**
203
+ * @return bool
204
+ *
205
+ * @codeCoverageIgnore
206
+ */
207
+ private function hasStdOutVt100Support()
208
+ {
209
+ return defined('STDOUT')
210
+ && function_exists('sapi_windows_vt100_support')
211
+ && @sapi_windows_vt100_support(STDOUT);
212
+ }
213
+
214
+ /**
215
+ * @return bool
216
+ *
217
+ * @codeCoverageIgnore
218
+ */
219
+ private function isStdOutATTY()
220
+ {
221
+ if (!defined('STDOUT')) {
222
+ return false;
223
+ }
224
+
225
+ if (is_resource(STDOUT)) {
226
+ // These functions require a descriptor that is a real resource, not a numeric ID of it
227
+ if (function_exists('stream_isatty') && @stream_isatty(STDOUT)) {
228
+ return true;
229
+ }
230
+
231
+ $stat = @fstat(STDOUT);
232
+
233
+ // Check if formatted mode is S_IFCHR
234
+ return $stat ? 0020000 === ($stat['mode'] & 0170000) : false;
235
+ }
236
+
237
+ return function_exists('posix_isatty') && @posix_isatty(STDOUT);
192
238
  }
193
239
 
194
240
  private function getDebuggedException($error, $code, $source, $path, $parameters, $options)
@@ -63,7 +63,7 @@ trait RendererOptionsTrait
63
63
  {
64
64
  /* @var ModuleContainerInterface $this */
65
65
 
66
- if (in_array($className, class_implements($moduleClassName)) &&
66
+ if (in_array($className, class_implements($moduleClassName), true) &&
67
67
  !$container->hasModule($moduleClassName)
68
68
  ) {
69
69
  $container->addModule($moduleClassName);
@@ -102,7 +102,7 @@ class Dump
102
102
  'string',
103
103
  'resource',
104
104
  'NULL',
105
- ])) {
105
+ ], true)) {
106
106
  return var_export($object, true);
107
107
  }
108
108
 
@@ -33,11 +33,11 @@ class LinkDump
33
33
  foreach ([
34
34
  ['current', EndLexEvent::class, 'lexing', [
35
35
  'background' => '#7200c4',
36
- 'color' => 'white',
36
+ 'color' => 'white',
37
37
  ]],
38
38
  ['current', HtmlEvent::class, 'rendering', [
39
39
  'background' => '#648481',
40
- 'color' => 'white',
40
+ 'color' => 'white',
41
41
  ]],
42
42
  ['previous', CompileEvent::class, '%s', [
43
43
  'background' => '#ffff78',
@@ -85,7 +85,7 @@ class ProfilerModule extends AbstractModule
85
85
 
86
86
  $this->eventDump = $this->getContainer()->getOption('profiler.dump_event');
87
87
 
88
- if (in_array($this->eventDump, ['var_dump', 'print_r'])) {
88
+ if (in_array($this->eventDump, ['var_dump', 'print_r'], true)) {
89
89
  $function = $this->eventDump;
90
90
  $this->eventDump = function ($value) use ($function) {
91
91
  return $this->getFunctionDump($value, $function);
@@ -11,7 +11,7 @@ class TasksGroup
11
11
  protected $success = 0;
12
12
  protected $errorDetails = [];
13
13
 
14
- public function __construct(Renderer $renderer = null)
14
+ public function __construct(?Renderer $renderer = null)
15
15
  {
16
16
  if ($renderer) {
17
17
  $this->renderer = $renderer;
@@ -7,9 +7,12 @@
7
7
  "homepage": "http://phug-lang.com",
8
8
  "authors": [
9
9
  {
10
- "name": "KyleKatarn",
11
- "email": "jade-php@selfbuild.fr",
10
+ "name": "kylekatarnls",
12
11
  "homepage": "http://github.com/kylekatarnls"
12
+ },
13
+ {
14
+ "name": "Torben Koehn",
15
+ "email": "torben@talesoft.codes"
13
16
  }
14
17
  ],
15
18
  "support": {
@@ -21,9 +24,10 @@
21
24
  "minimum-stability": "dev",
22
25
  "require": {
23
26
  "php": ">=5.5.0",
24
- "phug/compiler": "^1.2",
25
- "phug/util": "^1.5",
26
- "symfony/var-dumper": "^3.4 || ^4.0"
27
+ "phug/formatter": "^1.8.1 || ^2.0",
28
+ "phug/compiler": "^1.2 || ^2.0",
29
+ "phug/util": "^1.5 || ^2.0",
30
+ "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0"
27
31
  },
28
32
  "autoload": {
29
33
  "psr-4": {
@@ -32,7 +36,7 @@
32
36
  },
33
37
  "extra": {
34
38
  "branch-alias": {
35
- "dev-master": "1.x-dev"
39
+ "dev-master": "2.x-dev"
36
40
  }
37
41
  }
38
42
  }