Function: projectile-register-shell-backend

projectile-register-shell-backend is a byte-compiled function defined in projectile.el.

Signature

(projectile-register-shell-backend NAME &rest PLIST)

Documentation

Register NAME as a projectile-run backend with PLIST properties.

Recognised PLIST keys:
  :description a human-readable string shown in prompts;
  :available a zero-argument predicate returning non-nil when the
                backend can be used (omit for an always-available one);
  :run a function called as (NEW-PROCESS OTHER-WINDOW) that
                launches the shell/REPL/terminal in the project root.
NEW-PROCESS is the command's prefix argument (start a fresh process); OTHER-WINDOW requests display in another window (honoured by the terminals that support it).

Use this to plug in your own terminal, e.g.:

  (projectile-register-shell-backend 'mistty
    :description "mistty"
    :available (lambda () (require 'mistty nil t))
    :run (lambda (_new-process _other-window)
           (mistty-in-project)))

Source Code

;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defun projectile-register-shell-backend (name &rest plist)
  "Register NAME as a `projectile-run' backend with PLIST properties.
Recognised PLIST keys:
  :description  a human-readable string shown in prompts;
  :available    a zero-argument predicate returning non-nil when the
                backend can be used (omit for an always-available one);
  :run          a function called as (NEW-PROCESS OTHER-WINDOW) that
                launches the shell/REPL/terminal in the project root.
NEW-PROCESS is the command's prefix argument (start a fresh process);
OTHER-WINDOW requests display in another window (honoured by the
terminals that support it).

Use this to plug in your own terminal, e.g.:

  (projectile-register-shell-backend \\='mistty
    :description \"mistty\"
    :available (lambda () (require \\='mistty nil t))
    :run (lambda (_new-process _other-window)
           (mistty-in-project)))"
  (apply #'projectile-register-backend 'projectile-shell-backends name plist))