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