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(), diff --git a/tests/Languages/Python/PythonLanguageTest.php b/tests/Languages/Python/PythonLanguageTest.php index 61ceda5..41b1249 100644 --- a/tests/Languages/Python/PythonLanguageTest.php +++ b/tests/Languages/Python/PythonLanguageTest.php @@ -44,14 +44,14 @@ public static function data(): array <<def fib(n): # write Fibonacci series up to n """Print a Fibonacci series up to n.""" - a, b = 0, 1 + a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a+b print() # Now call the function we just defined: -fib(2000) +fib(2000) TXT], ]; }