Acme supports constantly improving how you work in little ways, better than tools with plugins or extension languages, by not having many features, and providing a good interface to route text through shell pipelines.
For a simple example, Acme has no paragraph justifier, but it doesn't need one, since fmt exists. To use it, highlight a paragraph of text with the left mouse button, highlight a typed-in |fmt command with the middle mouse button, and release the middle mouse button to run the paragraph through |fmt and replace it in place.
With this I can leverage anything I can call from the command line, in any language, to be part of my editor. No need to rewrite tools in the program's specific extension language, whether Elisp or Smalltalk or Clojure.
As another example, since it's so easy to just run a shell command from Acme (highlight the command text and middle-click it), I'm constantly customizing pre-written shell commands to e.g. grep for lines in code (to the point of creating indexes on the fly for files), and then right-clicking on grep -n output to jump to a specific line in a file.
You still need to use the mouse. One of the biggest benefits of Vi(m)/Emacs over everything else out there is that you don't need to use mouse for anything. For example, to justify a paragraph in Emacs I highlight it (several quick ways to do it with keyboard) and press C-u M-q. And you can do the general "replace text by running a shell command over it" by highlighting the text, and doing C-u M-| [shell-command-here].
The feature you're describing is awesome and useful, but I wouldn't be happy to have to use mouse for it. Is there a way to invoke it from keyboard in Acme?
For a simple example, Acme has no paragraph justifier, but it doesn't need one, since fmt exists. To use it, highlight a paragraph of text with the left mouse button, highlight a typed-in |fmt command with the middle mouse button, and release the middle mouse button to run the paragraph through |fmt and replace it in place.
With this I can leverage anything I can call from the command line, in any language, to be part of my editor. No need to rewrite tools in the program's specific extension language, whether Elisp or Smalltalk or Clojure.
As another example, since it's so easy to just run a shell command from Acme (highlight the command text and middle-click it), I'm constantly customizing pre-written shell commands to e.g. grep for lines in code (to the point of creating indexes on the fly for files), and then right-clicking on grep -n output to jump to a specific line in a file.