Add settings menu (^S)
This commit is contained in:
parent
ed02447161
commit
c51355aba7
@ -59,7 +59,8 @@ unconfigured nginx container.
|
||||
|
||||
### Editing a document
|
||||
|
||||
1. Run `jsonedit <filename>` from your shell.
|
||||
1. Run `jsonedit <filename>` from your shell, or run `jsonedit` and press **^O**
|
||||
to browse for a file to open.
|
||||
2. Find the value you want to edit and press **e**.
|
||||
3. Enter the value usng valid JSON value encoding, for example `"1234"` for the
|
||||
string 1234, and `1234` for the integer 1234. Unparsable JSON will be used
|
||||
@ -88,6 +89,7 @@ exists.
|
||||
- **t** - Toggle tail line guide
|
||||
- **b** - Toggle icons before keys
|
||||
- **c** - Toggle compact mode
|
||||
- **^S** - Open settings menu
|
||||
|
||||
## Caveats
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user