Emacs Run Command Versions Save

Efficient and ergonomic external command invocation for Emacs

v1.0.0

1 year ago

New features

  • Commands are now launched by default in term-mode except on Windows, where they are launched in compilation-mode.
  • vterm-mode is no longer marked as experimental. (Requires vterm.)
  • Added eat-mode runner. (Requires eat, a new, pure-Elisp terminal emulator for Emacs.)
  • Commands launched in one of the term modes are now interactive by default. Useful to e.g. interact with test runners.
  • Lisp code can be run on command launch by specifying a :hook property in the command definition. Useful to e.g. apply compilation-minor-mode to linters and compilers.
  • Runners can be specified per-command with the :runner property in a command definition.

Fixes

  • Selecting a command that's already running brings up the existing buffer instead of asking whether to stop and restart the command.
  • When a command asks to clear the screen, also clear the scrollback, so that the most recent run's output begins at the top of the buffer. Useful for test runners, compilers, linters etc. in watch mode.

Misc

  • Rearchitected to be more extensible, e.g. to more easily add selectors (transient, selectrum, etc) and runners.
  • Refactored to drop mapcar, mapcan, plist-get, loop etc in favour map-* and seq-*.
  • Added a documentation website.