Function: project--switch-project-command
project--switch-project-command is a byte-compiled function defined in
project.el.gz.
Signature
(project--switch-project-command &optional DIR)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/project.el.gz
(defun project--switch-project-command (&optional dir)
(let* ((commands-menu
(mapcar
(lambda (row)
(if (characterp (car row))
;; Deprecated format.
;; XXX: Add a warning about it?
(reverse row)
row))
project-switch-commands))
(commands-map
(let ((temp-map (make-sparse-keymap)))
(set-keymap-parent temp-map project-prefix-map)
(dolist (row commands-menu temp-map)
(when-let* ((cmd (nth 0 row))
(keychar (nth 2 row)))
(define-key temp-map (vector keychar) cmd)))))
command
choice)
(while (not command)
(let* ((overriding-local-map commands-map)
(prompt (if project-switch-use-entire-map
(project--keymap-prompt)
(project--menu-prompt))))
(when choice
(setq prompt (concat prompt
(format " %s: %s"
(propertize "Unrecognized input"
'face 'warning)
(help-key-description choice nil)))))
(setq choice (read-key-sequence (concat
(if dir
(format-message "Command in `%s': "
(propertize
dir 'face
'font-lock-string-face))
"Command: ")
prompt)))
(when (setq command (lookup-key commands-map choice))
(when (numberp command) (setq command nil))
(unless (or project-switch-use-entire-map
(assq command commands-menu))
(setq command nil)))
(let ((global-command (lookup-key (current-global-map) choice)))
(when (memq global-command
'(keyboard-quit keyboard-escape-quit))
(call-interactively global-command)))))
(message nil)
command))