From b8b2947ef285c74ca703e8f923cd97e3b84a5756 Mon Sep 17 00:00:00 2001 From: Bogdan Condorachi Date: Thu, 23 May 2024 14:07:35 +0300 Subject: [PATCH] Add python #123 support --- .../Python/Patterns/PyBooleanPattern.php | 2 +- .../Python/Patterns/PyNumberPattern.php | 24 +++++++++++++++++++ src/Languages/Python/PythonLanguage.php | 8 ++++++- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/Languages/Python/Patterns/PyNumberPattern.php diff --git a/src/Languages/Python/Patterns/PyBooleanPattern.php b/src/Languages/Python/Patterns/PyBooleanPattern.php index dd7f83d..e42d3af 100644 --- a/src/Languages/Python/Patterns/PyBooleanPattern.php +++ b/src/Languages/Python/Patterns/PyBooleanPattern.php @@ -19,6 +19,6 @@ public function getPattern(): string public function getTokenType(): TokenTypeEnum { - return TokenTypeEnum::TYPE; + return TokenTypeEnum::BOOLEAN; } } diff --git a/src/Languages/Python/Patterns/PyNumberPattern.php b/src/Languages/Python/Patterns/PyNumberPattern.php new file mode 100644 index 0000000..b8e14aa --- /dev/null +++ b/src/Languages/Python/Patterns/PyNumberPattern.php @@ -0,0 +1,24 @@ +\b0(?:[bB](?:_?[01])+|[oO](?:_?[0-7])+|[xX](?:_?[a-fA-F0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:[eE][+-]?\d+(?:_\d+)*)?j?(?!\w))'; + } + + public function getTokenType(): TokenTypeEnum + { + return TokenTypeEnum::NUMBER; + } +} diff --git a/src/Languages/Python/PythonLanguage.php b/src/Languages/Python/PythonLanguage.php index 6d13f1b..9b0ced0 100644 --- a/src/Languages/Python/PythonLanguage.php +++ b/src/Languages/Python/PythonLanguage.php @@ -15,6 +15,7 @@ use Tempest\Highlight\Languages\Python\Patterns\PyDecoratorPattern; use Tempest\Highlight\Languages\Python\Patterns\PyFunctionPattern; use Tempest\Highlight\Languages\Python\Patterns\PyKeywordPattern; +use Tempest\Highlight\Languages\Python\Patterns\PyNumberPattern; use Tempest\Highlight\Languages\Python\Patterns\PyOperatorPattern; use Tempest\Highlight\Languages\Python\Patterns\PyTripleDoubleQuoteStringPattern; use Tempest\Highlight\Languages\Python\Patterns\PyTripleSingleQuoteStringPattern; @@ -52,12 +53,17 @@ public function getPatterns(): array new PyFunctionPattern(), // TYPES - new PyBooleanPattern(), new PyBuiltinPattern(), // COMMENTS new PyCommentPattern(), + // NUMBERS + new PyNumberPattern(), + + // BOOLEANS + new PyBooleanPattern(), + // OPERATORS new PyOperatorPattern(),