Releases: kadet1090/KeyLighter
Releases · kadet1090/KeyLighter
v0.8.2
v0.8.1
v0.8.0
Added
Kadet\Highlighter\Language\CommonFeatureshelper with common language features like string handlingKadet\Highlighter\Matcher\DelegateRegexMatcherclassKadet\Highlighter\Parser\Rule::setMatcherandKadet\Highlighter\Parser\Rule::getMatchermethodsKadet\Highlighter\Parser\Contextclass for storing context related informationKadet\Highlighter\Parser\Result::getStartmethod$offsetargument toKadet\Highlighter\Parser\UnprocessedTokensmethodsKadet\Highlighter\Language\Language::by*factory methodsKadet\Highlighter\Language\Language::getAliases*static method, for language metadataKadet\Highlighter\Utils\Singleton::initsingletons constructordev:generate-tableanddev:aliasescommands for cli application
- C highlighting via
Kadet\Highlighter\Language\C - Python highlighting via
Kadet\Highlighter\Language\Python - Jinja/Django templates highlighting via
Kadet\Highlighter\Language\Python\Django - Markdown highlighting via
Kadet\Highlighter\Language\Markdown - C++ highlighting via
Kadet\Highlighter\Language\Cpp - C# highlighting via
Kadet\Highlighter\Language\CSharp - Java highlighting via
Kadet\Highlighter\Language\Java - shell/bash/zsh highlighting via
Kadet\Highlighter\Language\Shell - Go highlighting via
Kadet\Highlighter\Language\Go - Ruby highlighting via
Kadet\Highlighter\Language\Ruby - XML and HTML now highlights entities
- CSS highlights web colors
- PHP and few others, matches in-string expressions
Changed
Kadet\Highlighter\Parser\Result::__constructor($source, $tokens)->Kadet\Highlighter\Parser\Result::__constructor($source, Token $start)- Processing is now handled with
Kadet\Highlighter\Parser\Token\Token::processmethod Kadet\Highlighter\Parser\Token\Tokensimplifiedparametertoken renamed tosymbol.parameterannotationtoken renamed tosymbol.annotationkeyword.escapetoken renamed tooperator.escape- For semantic reasons
Kadet\Highlighter\Formatter\DebugFormatternow extendsKadet\Highlighter\Formatter\CliFormatter - CLI formatting styles now accept callables
- Token offsetting is now handed by containers rather than factory
- Completely rewritten console application - Now it's based on
symfony/console - Console application now determines language based on filename
Fixed
- PHP now correctly matches multiple implemented interfaces
- PHP now correctly matches variables as first token
- PHP now correctly matches types in doc comments
- PHP now correctly handles escape sequences in single quoted strings (see #1)
- Languages injected inside injected languages are now handled correctly
Removed
Kadet\Highlighter\Parser\GreedyParserin favor ofKadet\Highlighter\Parser\Token\Token::process- Redundant
Kadet\Highlighter\Parser\Token\Token::$indexproperty startandendfromKadet\Highlighter\Parser\Token\Tokens constructor$options, now they are handled by factoryKadet\Highlighter\Parser\TokenFactory::getOffsetandsetOffsetmethods
Other
- More tests
- About 10-15% performance improvement