                     (setq buffer-read-only nil)
                     (erase-buffer)
                     (let ((view-json (json-read-from-string view)))
-                        (write-view (cdr (assoc 'children view-json)) (longest-key view-json) 0))
+                        (write-view editable (cdr (assoc 'children view-json)) (longest-key view-json) 0))
                     (beginning-of-buffer)
                     (setq visible-cursor t)
                     ;; Try to move to the corresponding line in the previous view.

                        (if (> length max) (setq max length))))
                max)))

(defun write-view (children key-indent tree-indent)
    (loop for json across children do
    (let (
        (meta (eq t (cdr (assoc 'meta json))))

(defun light-gray (text background)
    (propertize text
	    'face (if full-colors-supported
		    (list :foreground "grey80" :background background)
			(list :foreground "black"))))

(defun dark-gray (text background)
