summaryrefslogtreecommitdiff
path: root/elpa/with-editor-3.4.3/README-elpa
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/with-editor-3.4.3/README-elpa')
-rw-r--r--elpa/with-editor-3.4.3/README-elpa55
1 files changed, 55 insertions, 0 deletions
diff --git a/elpa/with-editor-3.4.3/README-elpa b/elpa/with-editor-3.4.3/README-elpa
new file mode 100644
index 0000000..1824daa
--- /dev/null
+++ b/elpa/with-editor-3.4.3/README-elpa
@@ -0,0 +1,55 @@
+1 With-Editor
+═════════════
+
+ This library makes it possible to reliably use the Emacsclient as the
+ `$EDITOR' of child processes. It makes sure that they know how to
+ call home. For remote processes a substitute is provided, which
+ communicates with Emacs on standard output/input instead of using a
+ socket as the Emacsclient does.
+
+ It provides the commands `with-editor-async-shell-command' and
+ `with-editor-shell-command', which are intended as replacements for
+ `async-shell-command' and `shell-command'. They automatically export
+ `$EDITOR' making sure the executed command uses the current Emacs
+ instance as "the editor". With a prefix argument these commands
+ prompt for an alternative environment variable such as `$GIT_EDITOR'.
+ To always use these variants add this to your init file:
+
+ ┌────
+ │ (keymap-global-set "<remap> <async-shell-command>"
+ │ #'with-editor-async-shell-command)
+ │ (keymap-global-set "<remap> <shell-command>"
+ │ #'with-editor-shell-command)
+ └────
+
+ Alternatively use the global `shell-command-with-editor-mode', which
+ always sets `$EDITOR' for all Emacs commands which ultimately use
+ `shell-command' to asynchronously run some shell command.
+
+ The command `with-editor-export-editor' exports `$EDITOR' or another
+ such environment variable in `shell-mode', `eshell-mode', `term-mode'
+ and `vterm-mode' buffers. Use this Emacs command before executing a
+ shell command which needs the editor set, or always arrange for the
+ current Emacs instance to be used as editor by adding it to the
+ appropriate mode hooks:
+
+ ┌────
+ │ (add-hook 'shell-mode-hook 'with-editor-export-editor)
+ │ (add-hook 'eshell-mode-hook 'with-editor-export-editor)
+ │ (add-hook 'term-exec-hook 'with-editor-export-editor)
+ │ (add-hook 'vterm-mode-hook 'with-editor-export-editor)
+ └────
+
+ Some variants of this function exist, these two forms are equivalent:
+
+ ┌────
+ │ (add-hook 'shell-mode-hook
+ │ (apply-partially 'with-editor-export-editor "GIT_EDITOR"))
+ │ (add-hook 'shell-mode-hook 'with-editor-export-git-editor)
+ └────
+
+ This library can also be used by other packages which need to use the
+ current Emacs instance as editor. In fact this library was written
+ for Magit and its `git-commit-mode' and `git-rebase-mode'. Consult
+ `git-rebase.el' and the related code in `magit-sequence.el' for a
+ simple example.