gulp-phug 1.3.4 → 1.3.5
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.
- package/index.js +23 -8
- package/package.json +4 -4
- package/support/composer.json +1 -1
- package/support/composer.lock +93 -178
- package/support/vendor/autoload.php +15 -0
- package/support/vendor/bin/phug +119 -0
- package/support/vendor/bin/var-dump-server +119 -0
- package/support/vendor/composer/ClassLoader.php +166 -32
- package/support/vendor/composer/InstalledVersions.php +387 -329
- package/support/vendor/composer/autoload_classmap.php +1 -5
- package/support/vendor/composer/autoload_files.php +2 -3
- package/support/vendor/composer/autoload_namespaces.php +1 -1
- package/support/vendor/composer/autoload_psr4.php +3 -4
- package/support/vendor/composer/autoload_real.php +12 -37
- package/support/vendor/composer/autoload_static.php +6 -17
- package/support/vendor/composer/installed.json +97 -184
- package/support/vendor/composer/installed.php +129 -151
- package/support/vendor/composer/platform_check.php +16 -4
- package/support/vendor/phug/phug/.github/workflows/coverage.yml +71 -0
- package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +46 -0
- package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
- package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
- package/support/vendor/phug/phug/.github/workflows/tests.yml +49 -0
- package/support/vendor/phug/phug/.multi-tester.yml +42 -10
- package/support/vendor/phug/phug/composer.json +25 -16
- package/support/vendor/phug/phug/phpcs.xml +4 -0
- package/support/vendor/phug/phug/phpunit.xml +2 -0
- package/support/vendor/phug/phug/phug +1 -1
- package/support/vendor/phug/phug/release.php +8 -0
- package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +7 -1
- package/support/vendor/phug/phug/src/Phug/Ast/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +9 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +1 -0
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +6 -0
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +5 -2
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
- package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Event/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +15 -12
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +9 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +4 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +10 -8
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +213 -20
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +5 -2
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +23 -11
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
- package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Parser/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
- package/support/vendor/phug/phug/src/Phug/Phug/composer.json +5 -2
- package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +9 -9
- package/support/vendor/phug/phug/src/Phug/Reader/composer.json +4 -0
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +7 -3
- package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
- package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
- package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +1 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
- package/support/vendor/phug/phug/src/Phug/Util/composer.json +5 -6
- package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
- package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
- package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
- package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
- package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
- package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
- package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
- package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
- package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
- package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
- package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
- package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
- package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
- package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
- package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
- package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
- package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
- package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
- package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
- package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
- package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
- package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
- package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
- package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
- package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
- package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
- package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
- package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
- package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
- package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
- package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
- package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
- package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
- package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
- package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
- package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
- package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
- package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
- package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
- package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
- package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
- package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
- package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
- package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
- package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
- package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
- package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
- package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
- package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
- package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
- package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
- package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
- package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
- package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
- package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
- package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
- package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
- package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
- package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
- package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
- package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
- package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
- package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
- package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
- package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
- package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
- package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
- package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
- package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
- package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
- package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
- package/support/vendor/symfony/var-dumper/LICENSE +1 -1
- package/support/vendor/symfony/var-dumper/README.md +6 -6
- package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
- package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
- package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
- package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
- package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
- package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
- package/support/vendor/symfony/var-dumper/composer.json +10 -16
- package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
- package/support/vendor/symfony/polyfill-php72/README.md +0 -28
- package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
- package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
- package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
- package/support/vendor/symfony/polyfill-php80/README.md +0 -24
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
- package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
- package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
|
@@ -7,16 +7,18 @@
|
|
|
7
7
|
namespace Phug\Lexer\Scanner;
|
|
8
8
|
|
|
9
9
|
use Phug\Lexer\Analyzer\LineAnalyzer;
|
|
10
|
+
use Phug\Lexer\Scanner\Partial\TrailingOutdentHandlerTrait;
|
|
10
11
|
use Phug\Lexer\ScannerInterface;
|
|
11
12
|
use Phug\Lexer\State;
|
|
12
13
|
use Phug\Lexer\Token\FilterToken;
|
|
13
14
|
use Phug\Lexer\Token\IndentToken;
|
|
14
15
|
use Phug\Lexer\Token\NewLineToken;
|
|
15
|
-
use Phug\Lexer\Token\OutdentToken;
|
|
16
16
|
use Phug\Lexer\Token\TextToken;
|
|
17
17
|
|
|
18
18
|
class FilterScanner implements ScannerInterface
|
|
19
19
|
{
|
|
20
|
+
use TrailingOutdentHandlerTrait;
|
|
21
|
+
|
|
20
22
|
public function scan(State $state)
|
|
21
23
|
{
|
|
22
24
|
$reader = $state->getReader();
|
|
@@ -55,7 +57,7 @@ class FilterScanner implements ScannerInterface
|
|
|
55
57
|
$token = $state->createToken(TextToken::class);
|
|
56
58
|
if ($maxIndent > 0 && $maxIndent < INF) {
|
|
57
59
|
foreach ($lines as &$line) {
|
|
58
|
-
$line = mb_substr($line, $maxIndent)
|
|
60
|
+
$line = mb_substr((string) $line, $maxIndent);
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
$token->setValue(implode("\n", $lines));
|
|
@@ -66,14 +68,8 @@ class FilterScanner implements ScannerInterface
|
|
|
66
68
|
$token->getSourceLocation()->setOffsetLength(1); //Let it have at least 1 length for debugging
|
|
67
69
|
yield $token;
|
|
68
70
|
|
|
69
|
-
|
|
70
|
-
yield $
|
|
71
|
-
|
|
72
|
-
$state->setLevel($analyzer->getNewLevel())->indent($analyzer->getLevel() + 1);
|
|
73
|
-
|
|
74
|
-
while ($state->nextOutdent() !== false) {
|
|
75
|
-
yield $state->createToken(OutdentToken::class);
|
|
76
|
-
}
|
|
71
|
+
foreach ($this->yieldTrailingOutdent($analyzer, $state) as $token) {
|
|
72
|
+
yield $token;
|
|
77
73
|
}
|
|
78
74
|
}
|
|
79
75
|
}
|
|
@@ -98,7 +98,7 @@ class IndentationScanner implements ScannerInterface
|
|
|
98
98
|
$newLevel = $this->getIndentLevel($state, INF, function () use (&$indent) {
|
|
99
99
|
$char = null;
|
|
100
100
|
|
|
101
|
-
if (mb_strlen($indent)) {
|
|
101
|
+
if ($indent !== null && mb_strlen($indent)) {
|
|
102
102
|
$char = mb_substr($indent, 0, 1);
|
|
103
103
|
$indent = mb_substr($indent, 1);
|
|
104
104
|
}
|
|
@@ -24,7 +24,7 @@ class KeywordScanner implements ScannerInterface
|
|
|
24
24
|
)) {
|
|
25
25
|
$name = $reader->getMatch('name');
|
|
26
26
|
|
|
27
|
-
if (in_array($name, $keywords)) {
|
|
27
|
+
if (in_array($name, $keywords, true)) {
|
|
28
28
|
$value = $reader->getMatch('value');
|
|
29
29
|
if (mb_substr($value, 0, 1) === ' ') {
|
|
30
30
|
$value = mb_substr($value, 1);
|
|
@@ -7,19 +7,21 @@
|
|
|
7
7
|
namespace Phug\Lexer\Scanner;
|
|
8
8
|
|
|
9
9
|
use Phug\Lexer\Analyzer\LineAnalyzer;
|
|
10
|
+
use Phug\Lexer\Scanner\Partial\TrailingOutdentHandlerTrait;
|
|
10
11
|
use Phug\Lexer\ScannerInterface;
|
|
11
12
|
use Phug\Lexer\State;
|
|
12
13
|
use Phug\Lexer\Token\IndentToken;
|
|
13
14
|
use Phug\Lexer\Token\InterpolationEndToken;
|
|
14
15
|
use Phug\Lexer\Token\InterpolationStartToken;
|
|
15
16
|
use Phug\Lexer\Token\NewLineToken;
|
|
16
|
-
use Phug\Lexer\Token\OutdentToken;
|
|
17
17
|
use Phug\Lexer\Token\TagInterpolationEndToken;
|
|
18
18
|
use Phug\Lexer\Token\TagInterpolationStartToken;
|
|
19
19
|
use Phug\Lexer\Token\TextToken;
|
|
20
20
|
|
|
21
21
|
class MultilineScanner implements ScannerInterface
|
|
22
22
|
{
|
|
23
|
+
use TrailingOutdentHandlerTrait;
|
|
24
|
+
|
|
23
25
|
protected function unEscapedToken(State $state, $buffer)
|
|
24
26
|
{
|
|
25
27
|
/** @var TextToken $token */
|
|
@@ -83,8 +85,6 @@ class MultilineScanner implements ScannerInterface
|
|
|
83
85
|
|
|
84
86
|
private function yieldLines(State $state, array $lines, LineAnalyzer $analyzer)
|
|
85
87
|
{
|
|
86
|
-
$reader = $state->getReader();
|
|
87
|
-
|
|
88
88
|
yield $state->createToken(IndentToken::class);
|
|
89
89
|
|
|
90
90
|
$maxIndent = $analyzer->getMaxIndent();
|
|
@@ -92,7 +92,7 @@ class MultilineScanner implements ScannerInterface
|
|
|
92
92
|
if ($maxIndent > 0 && $maxIndent < INF) {
|
|
93
93
|
foreach ($lines as &$line) {
|
|
94
94
|
if (count($line) && is_string($line[0])) {
|
|
95
|
-
$line[0] = mb_substr($line[0], $maxIndent)
|
|
95
|
+
$line[0] = mb_substr((string) $line[0], $maxIndent);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -101,14 +101,8 @@ class MultilineScanner implements ScannerInterface
|
|
|
101
101
|
yield $token;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
yield $
|
|
106
|
-
|
|
107
|
-
$state->setLevel($analyzer->getNewLevel())->indent($analyzer->getLevel() + 1);
|
|
108
|
-
|
|
109
|
-
while ($state->nextOutdent() !== false) {
|
|
110
|
-
yield $state->createToken(OutdentToken::class);
|
|
111
|
-
}
|
|
104
|
+
foreach ($this->yieldTrailingOutdent($analyzer, $state) as $token) {
|
|
105
|
+
yield $token;
|
|
112
106
|
}
|
|
113
107
|
}
|
|
114
108
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
namespace Phug\Lexer\Scanner\Partial;
|
|
4
|
+
|
|
5
|
+
use Phug\Lexer\Analyzer\LineAnalyzer;
|
|
6
|
+
use Phug\Lexer\State;
|
|
7
|
+
use Phug\Lexer\Token\NewLineToken;
|
|
8
|
+
use Phug\Lexer\Token\OutdentToken;
|
|
9
|
+
|
|
10
|
+
trait TrailingOutdentHandlerTrait
|
|
11
|
+
{
|
|
12
|
+
private function yieldTrailingOutdent(LineAnalyzer $analyzer, State $state)
|
|
13
|
+
{
|
|
14
|
+
$reader = $state->getReader();
|
|
15
|
+
|
|
16
|
+
if ($reader->hasLength()) {
|
|
17
|
+
yield $state->createToken(NewLineToken::class);
|
|
18
|
+
|
|
19
|
+
$state->setLevel($analyzer->getNewLevel())->indent($analyzer->getLevel() + 1);
|
|
20
|
+
|
|
21
|
+
while ($state->nextOutdent() !== false) {
|
|
22
|
+
yield $state->createToken(OutdentToken::class);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -19,7 +19,7 @@ class TextScanner implements ScannerInterface
|
|
|
19
19
|
|
|
20
20
|
private function isTextStartToTrim(State $state, $text)
|
|
21
21
|
{
|
|
22
|
-
return in_array(mb_substr($text, 0, 1), [' ', "\t"]) && !$state->isAfterInterpolation();
|
|
22
|
+
return in_array(mb_substr((string) $text, 0, 1), [' ', "\t"], true) && !$state->isAfterInterpolation();
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
private function leftTrimValueIfNotAfterInterpolation(State $state, TextToken $token)
|
|
@@ -27,7 +27,7 @@ class TextScanner implements ScannerInterface
|
|
|
27
27
|
$text = $token->getValue();
|
|
28
28
|
|
|
29
29
|
if ($this->isTextStartToTrim($state, $text)) {
|
|
30
|
-
$token->setValue(mb_substr($text, 1)
|
|
30
|
+
$token->setValue(mb_substr((string) $text, 1));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -87,7 +87,7 @@ class TextScanner implements ScannerInterface
|
|
|
87
87
|
$text = mb_substr($text, 1);
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
$text = preg_replace('/\\\\([#!]\\[
|
|
90
|
+
$text = preg_replace('/\\\\([#!]\\[|#{)/', '$1', $text);
|
|
91
91
|
$token->setValue($text);
|
|
92
92
|
|
|
93
93
|
yield $state->endToken($token);
|
|
@@ -230,20 +230,20 @@ class State implements OptionInterface
|
|
|
230
230
|
* use the `loopScan`-method
|
|
231
231
|
*
|
|
232
232
|
* @param array|string $scanners the scanners to run
|
|
233
|
+
* @param array $options options to be passed for the scanner
|
|
233
234
|
*
|
|
234
235
|
* @throws LexerException
|
|
235
236
|
*
|
|
236
237
|
* @return iterable the generator yielding all tokens found
|
|
237
238
|
*/
|
|
238
|
-
public function scan($scanners)
|
|
239
|
+
public function scan($scanners, array $options = [])
|
|
239
240
|
{
|
|
240
241
|
$scanners = $this->filterScanners($scanners);
|
|
241
242
|
|
|
242
|
-
foreach ($scanners as $
|
|
243
|
-
|
|
243
|
+
foreach ($scanners as $scanner) {
|
|
244
244
|
/** @var ScannerInterface $scanner */
|
|
245
245
|
$success = false;
|
|
246
|
-
foreach ($scanner->scan($this) as $token) {
|
|
246
|
+
foreach ($scanner->scan($this, $options) as $token) {
|
|
247
247
|
if (!($token instanceof TokenInterface)) {
|
|
248
248
|
$this->throwException(
|
|
249
249
|
'Scanner '.get_class($scanner).' generated a result that is not a '.TokenInterface::class
|
|
@@ -266,7 +266,7 @@ class State implements OptionInterface
|
|
|
266
266
|
* If the second argument is true, it will throw an exception if none of the scanners
|
|
267
267
|
* produced any valid tokens. The reading also stops when the end of the input as been reached.
|
|
268
268
|
*
|
|
269
|
-
* @param
|
|
269
|
+
* @param $scanners
|
|
270
270
|
* @param bool $required
|
|
271
271
|
*
|
|
272
272
|
* @throws LexerException
|
|
@@ -329,7 +329,7 @@ class State implements OptionInterface
|
|
|
329
329
|
return new $className(
|
|
330
330
|
$this->createCurrentSourceLocation(),
|
|
331
331
|
$this->level,
|
|
332
|
-
str_repeat($this->getIndentStyle(), $this->getIndentWidth())
|
|
332
|
+
str_repeat((string) $this->getIndentStyle(), (int) $this->getIndentWidth())
|
|
333
333
|
);
|
|
334
334
|
}
|
|
335
335
|
|
|
@@ -345,9 +345,9 @@ class State implements OptionInterface
|
|
|
345
345
|
* in scanners as you can simply return it's value without having to check for it to be null.
|
|
346
346
|
*
|
|
347
347
|
*
|
|
348
|
-
* @param $className
|
|
349
|
-
* @param $pattern
|
|
350
|
-
* @param null
|
|
348
|
+
* @param class-string $className
|
|
349
|
+
* @param string $pattern
|
|
350
|
+
* @param string|null $modifiers
|
|
351
351
|
*
|
|
352
352
|
* @return iterable
|
|
353
353
|
*/
|
|
@@ -4,6 +4,7 @@ namespace Phug\Parser\Event;
|
|
|
4
4
|
|
|
5
5
|
use Phug\Event;
|
|
6
6
|
use Phug\Parser\NodeInterface;
|
|
7
|
+
use Phug\ParserEvent;
|
|
7
8
|
|
|
8
9
|
class NodeEvent extends Event
|
|
9
10
|
{
|
|
@@ -12,8 +13,8 @@ class NodeEvent extends Event
|
|
|
12
13
|
/**
|
|
13
14
|
* NodeEvent constructor.
|
|
14
15
|
*
|
|
15
|
-
* @param $name
|
|
16
|
-
* @param NodeInterface
|
|
16
|
+
* @param ParserEvent::* $name
|
|
17
|
+
* @param NodeInterface $node
|
|
17
18
|
*/
|
|
18
19
|
public function __construct($name, NodeInterface $node)
|
|
19
20
|
{
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
namespace Phug\Parser\Node;
|
|
4
4
|
|
|
5
5
|
use Phug\Parser\Node;
|
|
6
|
+
use Phug\Util\AttributesInterface;
|
|
7
|
+
use Phug\Util\OrderableInterface;
|
|
6
8
|
use Phug\Util\Partial\AttributeTrait;
|
|
7
9
|
use Phug\Util\Partial\NameTrait;
|
|
10
|
+
use Phug\Util\Partial\OrderTrait;
|
|
8
11
|
|
|
9
|
-
class AssignmentNode extends Node
|
|
12
|
+
class AssignmentNode extends Node implements AttributesInterface, OrderableInterface
|
|
10
13
|
{
|
|
11
14
|
use NameTrait;
|
|
12
15
|
use AttributeTrait;
|
|
16
|
+
use OrderTrait;
|
|
13
17
|
}
|
|
@@ -3,17 +3,20 @@
|
|
|
3
3
|
namespace Phug\Parser\Node;
|
|
4
4
|
|
|
5
5
|
use Phug\Parser\Node;
|
|
6
|
+
use Phug\Util\OrderableInterface;
|
|
6
7
|
use Phug\Util\Partial\CheckTrait;
|
|
7
8
|
use Phug\Util\Partial\EscapeTrait;
|
|
8
9
|
use Phug\Util\Partial\NameTrait;
|
|
10
|
+
use Phug\Util\Partial\OrderTrait;
|
|
9
11
|
use Phug\Util\Partial\ValueTrait;
|
|
10
12
|
use Phug\Util\Partial\VariadicTrait;
|
|
11
13
|
|
|
12
|
-
class AttributeNode extends Node
|
|
14
|
+
class AttributeNode extends Node implements OrderableInterface
|
|
13
15
|
{
|
|
14
16
|
use NameTrait;
|
|
15
17
|
use ValueTrait;
|
|
16
18
|
use EscapeTrait;
|
|
17
19
|
use CheckTrait;
|
|
18
20
|
use VariadicTrait;
|
|
21
|
+
use OrderTrait;
|
|
19
22
|
}
|
|
@@ -3,15 +3,19 @@
|
|
|
3
3
|
namespace Phug\Parser\Node;
|
|
4
4
|
|
|
5
5
|
use Phug\Parser\Node;
|
|
6
|
+
use Phug\Util\AttributesInterface;
|
|
7
|
+
use Phug\Util\AttributesOrderInterface;
|
|
6
8
|
use Phug\Util\Partial\AssignmentTrait;
|
|
9
|
+
use Phug\Util\Partial\AttributesOrderTrait;
|
|
7
10
|
use Phug\Util\Partial\AttributeTrait;
|
|
8
11
|
use Phug\Util\Partial\NameTrait;
|
|
9
12
|
|
|
10
|
-
class ElementNode extends Node
|
|
13
|
+
class ElementNode extends Node implements AttributesInterface, AttributesOrderInterface
|
|
11
14
|
{
|
|
12
15
|
use NameTrait;
|
|
13
16
|
use AttributeTrait;
|
|
14
17
|
use AssignmentTrait;
|
|
18
|
+
use AttributesOrderTrait;
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* @var bool
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
namespace Phug\Parser\Node;
|
|
4
4
|
|
|
5
5
|
use Phug\Parser\Node;
|
|
6
|
+
use Phug\Util\AttributesInterface;
|
|
6
7
|
use Phug\Util\Partial\AttributeTrait;
|
|
7
8
|
use Phug\Util\Partial\NameTrait;
|
|
8
9
|
|
|
9
|
-
class FilterNode extends Node
|
|
10
|
+
class FilterNode extends Node implements AttributesInterface
|
|
10
11
|
{
|
|
11
12
|
use NameTrait;
|
|
12
13
|
use AttributeTrait;
|
|
@@ -3,15 +3,19 @@
|
|
|
3
3
|
namespace Phug\Parser\Node;
|
|
4
4
|
|
|
5
5
|
use Phug\Parser\Node;
|
|
6
|
+
use Phug\Util\AttributesInterface;
|
|
7
|
+
use Phug\Util\AttributesOrderInterface;
|
|
6
8
|
use Phug\Util\Partial\AssignmentTrait;
|
|
9
|
+
use Phug\Util\Partial\AttributesOrderTrait;
|
|
7
10
|
use Phug\Util\Partial\AttributeTrait;
|
|
8
11
|
use Phug\Util\Partial\NameTrait;
|
|
9
12
|
|
|
10
|
-
class MixinCallNode extends Node
|
|
13
|
+
class MixinCallNode extends Node implements AttributesInterface, AttributesOrderInterface
|
|
11
14
|
{
|
|
12
15
|
use NameTrait;
|
|
13
16
|
use AttributeTrait;
|
|
14
17
|
use AssignmentTrait;
|
|
18
|
+
use AttributesOrderTrait;
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* @var bool
|
|
@@ -3,13 +3,17 @@
|
|
|
3
3
|
namespace Phug\Parser\Node;
|
|
4
4
|
|
|
5
5
|
use Phug\Parser\Node;
|
|
6
|
+
use Phug\Util\AttributesInterface;
|
|
7
|
+
use Phug\Util\AttributesOrderInterface;
|
|
6
8
|
use Phug\Util\Partial\AssignmentTrait;
|
|
9
|
+
use Phug\Util\Partial\AttributesOrderTrait;
|
|
7
10
|
use Phug\Util\Partial\AttributeTrait;
|
|
8
11
|
use Phug\Util\Partial\NameTrait;
|
|
9
12
|
|
|
10
|
-
class MixinNode extends Node
|
|
13
|
+
class MixinNode extends Node implements AttributesInterface, AttributesOrderInterface
|
|
11
14
|
{
|
|
12
15
|
use NameTrait;
|
|
13
16
|
use AttributeTrait;
|
|
14
17
|
use AssignmentTrait;
|
|
18
|
+
use AttributesOrderTrait;
|
|
15
19
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
namespace Phug\Parser\TokenHandler;
|
|
4
|
+
|
|
5
|
+
use Phug\Lexer\TokenInterface;
|
|
6
|
+
use Phug\Parser\Node\ElementNode;
|
|
7
|
+
use Phug\Parser\Node\MixinCallNode;
|
|
8
|
+
use Phug\Parser\State;
|
|
9
|
+
use Phug\Parser\TokenHandlerInterface;
|
|
10
|
+
|
|
11
|
+
abstract class AbstractTokenHandler implements TokenHandlerInterface
|
|
12
|
+
{
|
|
13
|
+
const TOKEN_TYPE = TokenInterface::class;
|
|
14
|
+
|
|
15
|
+
public function handleToken(TokenInterface $token, State $state)
|
|
16
|
+
{
|
|
17
|
+
if (!is_a($token, static::TOKEN_TYPE)) {
|
|
18
|
+
$name = $this->getTypeName(static::TOKEN_TYPE);
|
|
19
|
+
$handler = $this->getClassLastPart(static::class);
|
|
20
|
+
|
|
21
|
+
throw new \RuntimeException(
|
|
22
|
+
"You can only pass $name tokens to $handler"
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
$method = 'handle'.$this->getClassLastPart(get_class($token));
|
|
27
|
+
$this->$method($token, $state);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
protected function onlyOnElement(TokenInterface $token, State $state)
|
|
31
|
+
{
|
|
32
|
+
$this->createElementNodeIfMissing($token, $state);
|
|
33
|
+
$this->assertCurrentNodeIs($token, $state, [ElementNode::class, MixinCallNode::class]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
protected function createElementNodeIfMissing(TokenInterface $token, State $state)
|
|
37
|
+
{
|
|
38
|
+
if (!$state->getCurrentNode()) {
|
|
39
|
+
$state->setCurrentNode($state->createNode(ElementNode::class, $token));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
protected function assertCurrentNodeIs(TokenInterface $token, State $state, array $nodeTypes)
|
|
44
|
+
{
|
|
45
|
+
if (!$state->currentNodeIs($nodeTypes)) {
|
|
46
|
+
$nodeTypes = array_values($nodeTypes);
|
|
47
|
+
$list = $this->getPluralTypeName(array_shift($nodeTypes));
|
|
48
|
+
$count = count($nodeTypes);
|
|
49
|
+
|
|
50
|
+
foreach ($nodeTypes as $i => $nodeType) {
|
|
51
|
+
$list .= ($i === $count - 1 ? ' and ' : ', ').$this->getPluralTypeName($nodeType);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
$state->throwException(
|
|
55
|
+
ucfirst($this->getPluralTypeName(get_class($token))).' can only happen on '.$list,
|
|
56
|
+
0,
|
|
57
|
+
$token
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private function getClassLastPart($class)
|
|
63
|
+
{
|
|
64
|
+
$parts = explode('\\', $class);
|
|
65
|
+
|
|
66
|
+
return end($parts);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private function getTypeName($class)
|
|
70
|
+
{
|
|
71
|
+
$name = preg_replace('/(Token|Node)$/', '', $this->getClassLastPart($class));
|
|
72
|
+
$name = preg_replace('/([a-z])([A-Z])/', '$1-$2', $name);
|
|
73
|
+
|
|
74
|
+
return strtolower($name);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private function getPluralTypeName($class)
|
|
78
|
+
{
|
|
79
|
+
$name = $this->getTypeName($class);
|
|
80
|
+
|
|
81
|
+
if ($name === 'class') {
|
|
82
|
+
return 'classes';
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return $name.'s';
|
|
86
|
+
}
|
|
87
|
+
}
|
package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php
CHANGED
|
@@ -4,34 +4,18 @@ namespace Phug\Parser\TokenHandler;
|
|
|
4
4
|
|
|
5
5
|
use Phug\Lexer\Token\AssignmentToken;
|
|
6
6
|
use Phug\Lexer\Token\AttributeStartToken;
|
|
7
|
-
use Phug\Lexer\TokenInterface;
|
|
8
7
|
use Phug\Parser\Node\AssignmentNode;
|
|
9
8
|
use Phug\Parser\Node\ElementNode;
|
|
10
9
|
use Phug\Parser\Node\MixinCallNode;
|
|
11
10
|
use Phug\Parser\State;
|
|
12
|
-
use Phug\Parser\TokenHandlerInterface;
|
|
13
11
|
|
|
14
|
-
class AssignmentTokenHandler
|
|
12
|
+
class AssignmentTokenHandler extends AbstractTokenHandler
|
|
15
13
|
{
|
|
16
|
-
|
|
17
|
-
{
|
|
18
|
-
if (!($token instanceof AssignmentToken)) {
|
|
19
|
-
throw new \RuntimeException(
|
|
20
|
-
'You can only pass Assignment tokens to this token handler'
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (!$state->getCurrentNode()) {
|
|
25
|
-
$state->setCurrentNode($state->createNode(ElementNode::class, $token));
|
|
26
|
-
}
|
|
14
|
+
const TOKEN_TYPE = AssignmentToken::class;
|
|
27
15
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
0,
|
|
32
|
-
$token
|
|
33
|
-
);
|
|
34
|
-
}
|
|
16
|
+
public function handleAssignmentToken(AssignmentToken $token, State $state)
|
|
17
|
+
{
|
|
18
|
+
$this->onlyOnElement($token, $state);
|
|
35
19
|
|
|
36
20
|
/** @var AssignmentNode $node */
|
|
37
21
|
$node = $state->createNode(AssignmentNode::class, $token);
|
|
@@ -39,6 +23,7 @@ class AssignmentTokenHandler implements TokenHandlerInterface
|
|
|
39
23
|
|
|
40
24
|
/** @var ElementNode|MixinCallNode $current */
|
|
41
25
|
$current = $state->getCurrentNode();
|
|
26
|
+
$node->setOrder($current->getNextAttributeIndex());
|
|
42
27
|
$current->getAssignments()->attach($node);
|
|
43
28
|
|
|
44
29
|
if ($state->expectNext([AttributeStartToken::class])) {
|
package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php
CHANGED
|
@@ -3,18 +3,13 @@
|
|
|
3
3
|
namespace Phug\Parser\TokenHandler;
|
|
4
4
|
|
|
5
5
|
use Phug\Lexer\Token\AttributeEndToken;
|
|
6
|
-
use Phug\Lexer\TokenInterface;
|
|
7
|
-
use Phug\Parser\State;
|
|
8
|
-
use Phug\Parser\TokenHandlerInterface;
|
|
9
6
|
|
|
10
|
-
class AttributeEndTokenHandler
|
|
7
|
+
class AttributeEndTokenHandler extends AbstractTokenHandler
|
|
11
8
|
{
|
|
12
|
-
|
|
9
|
+
const TOKEN_TYPE = AttributeEndToken::class;
|
|
10
|
+
|
|
11
|
+
public function handleAttributeEndToken()
|
|
13
12
|
{
|
|
14
|
-
|
|
15
|
-
throw new \RuntimeException(
|
|
16
|
-
'You can only pass attribute end tokens to this token handler'
|
|
17
|
-
);
|
|
18
|
-
}
|
|
13
|
+
// noop
|
|
19
14
|
}
|
|
20
15
|
}
|
package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php
CHANGED
|
@@ -5,7 +5,6 @@ namespace Phug\Parser\TokenHandler;
|
|
|
5
5
|
use Phug\Lexer\Token\AttributeEndToken;
|
|
6
6
|
use Phug\Lexer\Token\AttributeStartToken;
|
|
7
7
|
use Phug\Lexer\Token\AttributeToken;
|
|
8
|
-
use Phug\Lexer\TokenInterface;
|
|
9
8
|
use Phug\Parser\Node\AssignmentNode;
|
|
10
9
|
use Phug\Parser\Node\ElementNode;
|
|
11
10
|
use Phug\Parser\Node\FilterNode;
|
|
@@ -14,35 +13,20 @@ use Phug\Parser\Node\MixinCallNode;
|
|
|
14
13
|
use Phug\Parser\Node\MixinNode;
|
|
15
14
|
use Phug\Parser\Node\VariableNode;
|
|
16
15
|
use Phug\Parser\State;
|
|
17
|
-
use Phug\Parser\TokenHandlerInterface;
|
|
18
16
|
|
|
19
|
-
class AttributeStartTokenHandler
|
|
17
|
+
class AttributeStartTokenHandler extends AbstractTokenHandler
|
|
20
18
|
{
|
|
21
|
-
|
|
22
|
-
{
|
|
23
|
-
if (!($token instanceof AttributeStartToken)) {
|
|
24
|
-
throw new \RuntimeException(
|
|
25
|
-
'You can only pass attribute start tokens to this token handler'
|
|
26
|
-
);
|
|
27
|
-
}
|
|
19
|
+
const TOKEN_TYPE = AttributeStartToken::class;
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (!$state->currentNodeIs([
|
|
21
|
+
public function handleAttributeStartToken(AttributeStartToken $token, State $state)
|
|
22
|
+
{
|
|
23
|
+
$this->createElementNodeIfMissing($token, $state);
|
|
24
|
+
$this->assertCurrentNodeIs($token, $state, [
|
|
34
25
|
ElementNode::class, AssignmentNode::class,
|
|
35
26
|
ImportNode::class, VariableNode::class,
|
|
36
27
|
MixinNode::class, MixinCallNode::class,
|
|
37
28
|
FilterNode::class,
|
|
38
|
-
])
|
|
39
|
-
$state->throwException(
|
|
40
|
-
'Attributes can only be placed on element, assignment, '
|
|
41
|
-
.'import, variable, filter, mixin and mixinCall',
|
|
42
|
-
0,
|
|
43
|
-
$token
|
|
44
|
-
);
|
|
45
|
-
}
|
|
29
|
+
]);
|
|
46
30
|
|
|
47
31
|
foreach ($state->lookUpNext([AttributeToken::class]) as $subToken) {
|
|
48
32
|
$state->handleToken($subToken);
|
package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php
CHANGED
|
@@ -3,27 +3,21 @@
|
|
|
3
3
|
namespace Phug\Parser\TokenHandler;
|
|
4
4
|
|
|
5
5
|
use Phug\Lexer\Token\AttributeToken;
|
|
6
|
-
use Phug\Lexer\TokenInterface;
|
|
7
6
|
use Phug\Parser\Node\AssignmentNode;
|
|
8
7
|
use Phug\Parser\Node\AttributeNode;
|
|
9
8
|
use Phug\Parser\Node\ElementNode;
|
|
10
9
|
use Phug\Parser\Node\MixinCallNode;
|
|
11
10
|
use Phug\Parser\State;
|
|
12
|
-
use Phug\
|
|
11
|
+
use Phug\Util\AttributesOrderInterface;
|
|
12
|
+
use Phug\Util\OrderableInterface;
|
|
13
13
|
|
|
14
|
-
class AttributeTokenHandler
|
|
14
|
+
class AttributeTokenHandler extends AbstractTokenHandler
|
|
15
15
|
{
|
|
16
|
-
|
|
17
|
-
{
|
|
18
|
-
if (!($token instanceof AttributeToken)) {
|
|
19
|
-
throw new \RuntimeException(
|
|
20
|
-
'You can only pass attribute tokens to this token handler'
|
|
21
|
-
);
|
|
22
|
-
}
|
|
16
|
+
const TOKEN_TYPE = AttributeToken::class;
|
|
23
17
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
public function handleAttributeToken(AttributeToken $token, State $state)
|
|
19
|
+
{
|
|
20
|
+
$this->createElementNodeIfMissing($token, $state);
|
|
27
21
|
|
|
28
22
|
/** @var AttributeNode $node */
|
|
29
23
|
$node = $state->createNode(AttributeNode::class, $token);
|
|
@@ -38,16 +32,24 @@ class AttributeTokenHandler implements TokenHandlerInterface
|
|
|
38
32
|
// Mixin calls and assignments take the first
|
|
39
33
|
// expression set as the name as the value
|
|
40
34
|
if (($value === '' || $value === null) &&
|
|
41
|
-
|
|
35
|
+
(
|
|
36
|
+
$state->currentNodeIs([AssignmentNode::class]) ||
|
|
37
|
+
($state->currentNodeIs([MixinCallNode::class]) && !$state->getCurrentNode()->areArgumentsCompleted())
|
|
38
|
+
)
|
|
42
39
|
) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
$node->setName(null);
|
|
46
|
-
}
|
|
40
|
+
$node->setValue($name);
|
|
41
|
+
$node->setName(null);
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
/** @var ElementNode|MixinCallNode $current */
|
|
44
|
+
/** @var ElementNode|MixinCallNode|AssignmentNode $current */
|
|
50
45
|
$current = $state->getCurrentNode();
|
|
46
|
+
|
|
47
|
+
if ($current instanceof AttributesOrderInterface) {
|
|
48
|
+
$node->setOrder($current->getNextAttributeIndex());
|
|
49
|
+
} elseif ($current instanceof OrderableInterface) {
|
|
50
|
+
$node->setOrder($current->getOrder());
|
|
51
|
+
}
|
|
52
|
+
|
|
51
53
|
$current->getAttributes()->attach($node);
|
|
52
54
|
}
|
|
53
55
|
}
|