   `(register-command-fn ~cmd-name-or-attrs (make-delegate ~typeargs ~args ~f)))
 
 (defmacro register-variable
-    [type variable-name-or-attrs f-get f-set]
-    `(register-variable-fn ~type ~variable-name-or-attrs
-                           (sys-func [~type] [] (~f-get))
-                           (sys-action [~type] [~'value] (~f-set ~'value))))
+  "Register a Minibuffer variable."
+  [type variable-name-or-attrs f-get f-set]
+  `(register-variable-fn ~type ~variable-name-or-attrs
+                         (sys-func [~type] [] (~f-get))
+                         (sys-action [~type] [~'value] (~f-set ~'value))))
 
 (defmacro defvar
     "Define a minibuffer variable. This variable is mutable therefore the value

                            (format "Unable to convert \"%s\" to desired type %s." item desired-type))))))))

(defn repl-setup
  "Called by LispCommands.cs after minibuffer.core.lisp is loaded. Sets up
  namespaces and completers."
  []
  (repl-eval-print-string "(in-ns 'user)")
  (repl-eval-print-string "(use 'minibuffer.lisp.core 'minibuffer.lisp.example 'arcadia.core 'clojure.repl)")
  (repl-eval-print-string "(import [UnityEngine Time Mathf Debug]")
  ;; This is a static completer.  It will know the symbols that
  ;; we started with.
  #_(set-completer "function"
                 (map name (mapcat clojure.repl/dir-fn @fn-completer-namespaces)))
  ;; This is a live completer.
  (set-completer "Symbol" (make-symbol-completer))
  (set-completer "function" (make-symbol-completer filter-functions))
  (set-completer "variable" (make-symbol-completer filter-variables))
  (set-completer "source" (make-symbol-completer filter-sources))
  ;(in-ns 'user)
  )

(defcmd ^{:key-binding "C-h f"} describe-function
  "Describe Clojure function."

        (let [msg (apply format fmt strings)]
             (message msg))))

(defn to-buffer
  "Output to a buffer."
  [buffer-name content]
