Function: projectile-dispatch--define
projectile-dispatch--define is a macro defined in projectile.el.
Signature
(projectile-dispatch--define NAME COMMAND &rest PROPS)
Documentation
Define command NAME as a projectile-dispatch wrapper around COMMAND.
PROPS is a plist of:
:other-window CMD, :other-frame CMD command variants selected by the
--display switch;
:prefix-arg SWITCH set current-prefix-arg to a plain
prefix when SWITCH is active.
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defmacro projectile-dispatch--define (name command &rest props)
"Define command NAME as a `projectile-dispatch' wrapper around COMMAND.
PROPS is a plist of:
:other-window CMD, :other-frame CMD command variants selected by the
`--display' switch;
:prefix-arg SWITCH set `current-prefix-arg' to a plain
prefix when SWITCH is active."
(declare (indent 2))
(let ((ow (plist-get props :other-window))
(of (plist-get props :other-frame))
(switch (plist-get props :prefix-arg)))
`(defun ,name ()
,(format "A `projectile-dispatch' wrapper honouring its modifier switches.\nRuns `%s'." command)
(interactive)
(let* ((projectile-dispatch--switches (projectile-dispatch--args))
(current-prefix-arg
,(if switch
`(if (member ,switch projectile-dispatch--switches)
'(4)
current-prefix-arg)
'current-prefix-arg))
(command
,(if ow
`(cond
((member "--display=frame" projectile-dispatch--switches) #',of)
((member "--display=window" projectile-dispatch--switches) #',ow)
(t #',command))
`#',command)))
(call-interactively command)))))