 		        (target-sharability (get-sharability json))
                 (target-has-children (not (equal json-false (cdr (assoc 'hasChildren json)))))
 		        (target-alias (get-alias json))
+		        (target-shortcut (get-shortcut json))
 		        (target-meta (get-meta json)))
 		            (if target-id (puthash target-id json exo-atoms))
 		            (if (not target-id) (error "missing target id"))

(global-set-key (kbd "C-c C-v e")       'exo-enter-edit-view)
(global-set-key (kbd "C-c C-v f")       'exo-update-to-forward-view)
(global-set-key (kbd "C-c C-v i")       'exo-toggle-inference-viewstyle)
(global-set-key (kbd "C-c C-v r")       'exo-enter-readonly-view)
(global-set-key (kbd "C-c C-v s")       'exo-toggle-emacspeak)
(global-set-key (kbd "C-c C-v t")       (minibuffer-arg 'exo-set-value-truncation-length "value truncation length: "))

                                 "\n")))
                        (insert (propertize line 'target-id target-id)))
                    (if (using-inference)
                        (loop for a across target-meta do (insert (light-gray (concat space "    @{" a "}\n")))))
                    (if exo-view-properties (let ()
                        (insert (light-gray (concat space "    @sharability " (number-to-string target-sharability) "\n")))
                        (insert (light-gray (concat space "    @weight      " (number-to-string target-weight) "\n")))
                        (if target-shortcut
                            (insert (light-gray (concat space "    @shortcut    " target-shortcut "\n"))))
                        (if target-alias
                            (insert (light-gray (concat space "    @alias       " target-alias "\n"))))))
                    (write-view editable children (+ tree-indent 4))))))

(defun num-or-nil-to-string (n)
