     "cljs.repl.reflect"     :normal
     "cljs.repl.rhino"       :normal
     "cljs.repl.server"      :normal
-
-    "cljs.repl.nashorn"     :custom}})
+    "cljs.repl.nashorn"     :custom
+
+    ;; pseudo-namespaces for options
+    "compiler-options"      :custom
+    "repl-options"          :custom}})
 
 
 ;;--------------------------------------------------------------------------------

        extras (map make ["catch" "finally"])]
    (concat parsed extras)))

(defn base-option-item
  [[id]]
  {:name (name id)
   :ns *cur-ns*
   :type "option"})

(defn option-present?
  [[id {:keys [added]}]]
  (ensure-cljs-published! added)
  (cljs-cmp >= added))

(defn add-options
  [parsed ns- options]
  (binding [*cur-ns* ns-]
    (doall
      (concat parsed
        (->> options
             (filter option-present?)
             (map base-option-item))))))

;;------------------------------------------------------------
;; Main
;;------------------------------------------------------------

(defn parse-all*
  [api]
  (->> (get namespaces api)

  (parse-ns* ns- "clojurescript" :compiler))

;;------------------------------------------------------------
;; Main
;;------------------------------------------------------------

(defn add-catch-finally
