eshell-outline

Enhanced outline-mode for Eshell
git clone https://git.jamzattack.xyz/eshell-outline
Log | Files | Refs | LICENSE

ModeNameSize
-rw-r--r--.gitignore5L
-rw-r--r--LICENSE674L
-rw-r--r--README.org69L
-rw-r--r--eshell-outline.el189L
Eshell-outline.el – Enhanced outline-mode for Eshell

Eshell-outline.el – Enhanced outline-mode for Eshell

This library provides a few enhancements for using outline-minor-mode within eshell.

Installation

package.el

Eshell-outline is in MELPA, so it's just a package-install away.

straight.el

Use the following recipe:

(eshell-outline :type git
                :flavor melpa
                :repo "https://git.jamzattack.xyz/eshell-outline")

Manual installation

  1. Download eshell-outline.el
  2. Stick it in load-path
  3. Update autoloads
  4. (optionally) byte-compile it

Commentary

Eshell-Outline mode defines a few commands to integrate Outline minor mode into Eshell. Some eshell-specific keys have been rebound so that they have multiple uses.

Namely, C-c C-c and C-c C-k will either kill/interrupt the running process, or show/hide the prompt+output at point.

C-c M-o (eshell-mark-output/eshell-outline-narrow) now uses narrowing to clear the buffer as an analogue to comint-clear-buffer and replacement for eshell/clear. It is also able to narrow to a previous prompt+output.

C-c M-m (undefined/eshell-outline-mark) marks the prompt+output at point, replacing C-c M-o which has been rebound. If point is at an empty prompt at the end of the buffer, this will mark the previous prompt+output instead.

Because this mode doesn't actually enable outline-minor-mode, I also bind C-c @ to outline-mode-prefix-map.

See Table of keybindings for a full list of keybindings.

Table of keybindings

Key Description (C-c C-o in org-mode to show documentation)
C-c C-k show/hide prompt+output or kill process
C-c C-c show/hide prompt+output or interrupt process
C-c C-t hide all
C-c C-a show all
C-c M-o narrow to prompt+output
C-c M-m mark prompt+output
C-c @ prefix for outline-mode-prefix-map

License

GPL3+