Misc fixes

This commit is contained in:
2024-10-07 00:30:09 +02:00
parent 46bf135446
commit 0e1354bd47
6 changed files with 33 additions and 32 deletions

View File

@@ -152,10 +152,7 @@ class TreeList implements Countable, IteratorAggregate
return;
}
$entry = $this->list[$key];
if (!$entry) {
echo "\e[0m\e[K\e[31mE_NO_ENTRY_IN_LIST\e[0m";
return;
}
echo "\e[{$screenRow};1H\e[0m";
echo ($selected?"\e[44;97m":"\e[0;37m")."\e[K";
echo "\e[90m".str_repeat(
@@ -204,26 +201,27 @@ class TreeList implements Countable, IteratorAggregate
: "\e[36m{$entry->key}:\e[37m "
));
}
if ($entry->node instanceof ArrayNode) {
$node = $entry->node;
if ($node instanceof ArrayNode) {
echo "[" . (Settings::$compactGroups ? "…]":"");
if ($entry->node->isCollapsed()) {
if ($node->isCollapsed()) {
if (!Settings::$collapseBefore) echo " \e[90m\u{25ba}";
echo " \e[90;2m[".count($entry->node->items)."]\e[22m";
echo " \e[90;2m[".count($node->items)."]\e[22m";
if (!Settings::$compactGroups) echo "\e[37m ]";
} else {
if (!Settings::$collapseBefore) echo " \e[90m\u{25bc}";
}
} elseif ($entry->node instanceof ObjectNode) {
} elseif ($node instanceof ObjectNode) {
echo "{" . (Settings::$compactGroups ? "…}":"");
if ($entry->node->isCollapsed()) {
if ($node->isCollapsed()) {
if (!Settings::$collapseBefore) echo " \e[90m\u{25ba}";
echo " \e[90;2;3m".join(", ",array_keys($entry->node->properties))."\e[22;23m";
echo " \e[90;2;3m".join(", ",array_keys($node->properties))."\e[22;23m";
if (!Settings::$compactGroups) echo "\e[37m }";
} else {
if (!Settings::$collapseBefore) echo " \e[90m\u{25bc}";
}
} elseif ($entry->node instanceof ValueNode) {
$value = $entry->node->value;
} elseif ($node instanceof ValueNode) {
$value = $node->value;
echo match (gettype($value)) {
'string' => "\e[33m",
'integer' => "\e[94m",
@@ -232,7 +230,7 @@ class TreeList implements Countable, IteratorAggregate
'NULL' => "\e[31m",
default => "",
};
echo json_encode($entry->node->value, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
echo json_encode($node->value, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
}
}