                    [(control c) (?.) (m)] "Tracing of macro expansion" toggle)
   ;; (zomp-add-action zomp-shell-toggle-verify
   ;;                  [(control c) (?.) (v)] "Verification of LLVM code" toggle)
+  (zomp-add-action zomp-select-architecture [(control c) (?.) (?a)] toggle)
+  (zomp-add-action zomp-select-variant [(control c) (?.) (?v)] toggle)
 
   (local-set-key [(control c) (?.) (?s)] 'zomp-shell-sexpr-syntax)
   (local-set-key [(control c) (?.) (?i)] 'zomp-shell-indent-syntax)

  "Number of seconds to highlight an expression after it has been evaluated."
  :group 'zomp
  :type 'float)

(defface zomp-highlight-after-eval-face
  '((t (:inherit highlight)))

(defvar zomp-build-variant "release"
  "Whether to use the Zomp \"debug\" or \"release\" build.")

(defun zomp-select-architecture ()
  "Select which architecture to use for build commands."
  (interactive)
  (setq zomp-build-architecture (completing-read "Select architecture for builds: " zomp-build-architectures)))

(defun zomp-select-variant ()
  "Select which variant to use for build commands."
  (interactive)
  (setq zomp-build-variant (completing-read "Select variant for builds: " zomp-build-variants)))

(defun zomp-toggle-variant ()
  "Toggle between using Zomp variants. See `zomp-build-variant'."
  (interactive)
  (setq zomp-build-variant
        (if (string= "release" zomp-build-variant)
            "debug"
          "release"))
  (minibuffer-message "Now using Zomp build %s%s" (zomp-build-name)
                      (if (zomp-get-shell-buffer nil)
                          ", need to restart zompsh to take effect"
                        "")))

(defun zomp-build-name ()
  "Returns the variant of Zomp used. This value is composed of the build variant
and the architecture like this: \"variant-architecture\"."
