blob: 63f3c48e13d01a2fff605a1558a8f5c2092c9159 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
`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 <kbd>M-!</kbd> 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].
[(emacs) Single Shell]:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Single-Shell.html
[Leah Neukirchen]:
http://leahneukirchen.org/dotfiles/.emacs
Installation
------------
`shell-command+` is available from [GNU ELPA]. It can be installed by
invoking
M-x package-install RET shell-command+ RET
[GNU ELPA]:
http://elpa.gnu.org/packages/shell-command+.html
Usage
-----
Bind the command `shell-command+` to any key, for example
<kbd>M-!</kbd>:
~~~elisp
(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 <kbd>M-!</kbd>, so it might be necessary to
also bind `shell-command+` in `dired-mode-map`. I do this using [setup]:
~~~elisp
(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+))
~~~
[Dired]:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html
[setup]:
http://elpa.gnu.org/packages/setup.html
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.
[copyright assignment]:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Copyright-Assignment.html
[FSF]:
https://www.fsf.org/
Source code
-----------
`shell-command+` is developed on [Codeberg].
[Codeberg]:
https://codeberg.org/pkal/shell-command-plus.el
Bugs and Patches
----------------
Bugs or comments can be submitted via [Codeberg's issue system] or by
sending [me] an email.
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
[Codeberg's issue system]:
https://codeberg.org/pkal/shell-command-plus.el/issues
[me]:
https://amodernist.com/#email
Distribution
------------
shell-command+.el and all other source files in this directory are
distributed under the [GNU Public License], Version 3 (like Emacs
itself).
[GNU Public License]:
https://www.gnu.org/licenses/gpl-3.0.en.html
|