Add settings menu (^S)
This commit is contained in:
@ -315,7 +315,48 @@ class Editor
|
||||
$this->modified = false;
|
||||
$this->redrawEditor();
|
||||
break;
|
||||
|
||||
|
||||
case "\x13": // ctrl-s
|
||||
$sel = null;
|
||||
$mark = "\u{f657} ";
|
||||
$clear = "\u{f630} ";
|
||||
|
||||
do {
|
||||
$this->redrawEditor();
|
||||
$items = [
|
||||
'collapseBefore' => (Settings::$collapseBefore?$mark:$clear)."Collapse before key",
|
||||
'compactGroups' => (Settings::$compactGroups?$mark:$clear)."Compact groups",
|
||||
'quotedKeys' => (Settings::$editorQuotedKeys?$mark:$clear)."Quoted keys",
|
||||
'tailLine' => (Settings::$tailLine?$mark:$clear)."Show tail line",
|
||||
'indentationGuides' => (Settings::$indentationGuides?$mark:$clear)."Show indentation guides",
|
||||
'done' => " Done"
|
||||
];
|
||||
$sel = (new Menu($this->term, $items, "Settings"))
|
||||
->display(0, 0, 40, 0, $sel);
|
||||
switch ($sel) {
|
||||
case 'collapseBefore':
|
||||
Settings::$collapseBefore = !Settings::$collapseBefore;
|
||||
break;
|
||||
case 'compactGroups':
|
||||
Settings::$compactGroups = !Settings::$compactGroups;
|
||||
$this->list->parseTree();
|
||||
break;
|
||||
case 'quotedKeys':
|
||||
Settings::$editorQuotedKeys = !Settings::$editorQuotedKeys;
|
||||
break;
|
||||
case 'tailLine':
|
||||
Settings::$tailLine = !Settings::$tailLine;
|
||||
break;
|
||||
case 'indentationGuides':
|
||||
Settings::$indentationGuides = !Settings::$indentationGuides;
|
||||
break;
|
||||
case null:
|
||||
break(2);
|
||||
}
|
||||
} while ($sel != 'done');
|
||||
$this->redrawEditor();
|
||||
break;
|
||||
|
||||
case "\x0F": // ctrl-o
|
||||
$this->doOpenFile();
|
||||
break;
|
||||
|
Reference in New Issue
Block a user