~pkal/shell-command-plus

An improved shell-command for Emacs
Do not invoke 'erase-buffer' twice when handling "clear"
Add new command to execute commands in comments
Ensure that 'quit-window' doesn't delete the wrong buffer

clone

read-only
https://git.sr.ht/~pkal/shell-command-plus
read/write
git@git.sr.ht:~pkal/shell-command-plus

You can also use your local clone with git send-email.

#shell-command With a Few Extra Features

Find here the source for shell-command+.el, that defines an extended version of Emacs' shell-command (bound to M-! by default). See (emacs) Single Shell if you are unfamiliar with the command.

shell-command+ has been based on a function named bang by Leah Neukirchen.

#Installation

shell-command+ is available from GNU ELPA. It can be installed by invoking

M-x package-install RET shell-command+ RET

#Usage

Bind the command shell-command+ to any key, for example M-!:

(global-set-key (kbd "M-!") #'shell-command+)

No further changes are necessary. It is recommended to consult the shell-command+ documentation string (C-h f shell-command+) and the shell-command+ customisation group (M-x customize-group shell-command+).

Note that Dired rebinds M-!, so it might be necessary to also bind shell-command+ in dired-mode-map. I do this using setup:

(setup (:package shell-command+)
  (:option (remove shell-command+-features) #'shell-command+-implicit-cd
           shell-command+-prompt "$ ")
  (:bind-into dired "M-!" shell-command+)
  (:global "M-!" shell-command+))

#Contribute

As shell-command+.el is distribed as part of GNU ELPA, and therefore requires a copyright assignment to the FSF, for all non-trivial code contributions.

#Source code

shell-command+ is developed on SourceHut.

#Bugs and Patches

Bugs or comments can be submitted to my public inbox.

When contributing, make sure to provide test and use the existing tests defined in shell-command+-tests.el. These can be easily executed using the bundled Makefile:

make test

#Distribution

shell-command+.el and all other source files in this directory are distributed under the GNU Public License, Version 3 (like Emacs itself).