32 lines
886 B
PHP
32 lines
886 B
PHP
|
<?php declare(strict_types=1);
|
||
|
|
||
|
namespace Aviat\Kilo;
|
||
|
|
||
|
use Aviat\Kilo\Enum\Color;
|
||
|
use Aviat\Kilo\Enum\Highlight;
|
||
|
|
||
|
/**
|
||
|
* Configure syntax highlighting colors
|
||
|
*
|
||
|
* @param int $hl
|
||
|
* @return int
|
||
|
*/
|
||
|
function get_syntax_color(int $hl): int {
|
||
|
return match ($hl)
|
||
|
{
|
||
|
Highlight::COMMENT => Color::FG_CYAN,
|
||
|
Highlight::ML_COMMENT => Color::FG_BRIGHT_BLACK,
|
||
|
Highlight::KEYWORD1 => Color::FG_YELLOW,
|
||
|
Highlight::KEYWORD2 => Color::FG_GREEN,
|
||
|
Highlight::STRING => Color::FG_MAGENTA,
|
||
|
Highlight::CHARACTER => Color::FG_BRIGHT_MAGENTA,
|
||
|
Highlight::NUMBER => Color::FG_BRIGHT_RED,
|
||
|
Highlight::OPERATOR => Color::FG_BRIGHT_GREEN,
|
||
|
Highlight::VARIABLE => Color::FG_BRIGHT_CYAN,
|
||
|
Highlight::DELIMITER => Color::FG_BLUE,
|
||
|
Highlight::INVALID => Color::BG_BRIGHT_RED,
|
||
|
Highlight::MATCH => Color::INVERT,
|
||
|
Highlight::IDENTIFIER => Color::FG_BRIGHT_WHITE,
|
||
|
default => Color::FG_WHITE,
|
||
|
};
|
||
|
}
|