eshell-outline

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

README.org (2936B)


      1 #+title: Eshell-outline.el -- Enhanced outline-mode for Eshell
      2 #+author: Jamie Beardslee
      3 #+email: jdb@jamzattack.xyz
      4 
      5 This library provides a few enhancements for using [[help:outline-minor-mode][outline-minor-mode]]
      6 within [[help:eshell][eshell]].
      7 
      8 * Installation
      9 
     10 ** package.el
     11 
     12 Eshell-outline is in [[https://melpa.org/#/eshell-outline][MELPA]], so it's just a [[help:package-install][package-install]] away.
     13 
     14 ** straight.el
     15 
     16 Use the following recipe:
     17 
     18 #+begin_src emacs-lisp
     19   (eshell-outline :type git
     20 		  :flavor melpa
     21 		  :repo "https://git.jamzattack.xyz/eshell-outline")
     22 #+end_src
     23 
     24 ** Manual installation
     25 
     26 1. Download eshell-outline.el
     27 2. Stick it in [[help:load-path][load-path]]
     28 3. Update autoloads
     29 4. (optionally) byte-compile it
     30 
     31 * Commentary
     32 
     33 [[help:eshell-outline-mode][Eshell-Outline mode]] defines a few commands to integrate [[help:outline-minor-mode][Outline minor
     34 mode]] into [[help:eshell][Eshell]].  Some eshell-specific keys have been rebound so that
     35 they have multiple uses.
     36 
     37 Namely, =C-c C-c= and =C-c C-k= will either kill/interrupt the running
     38 process, or show/hide the /prompt+output/ at point.
     39 
     40 =C-c M-o= ([[help:eshell-mark-output][eshell-mark-output]]/[[help:eshell-outline-narrow][eshell-outline-narrow]]) now uses [[info:emacs#Narrowing][narrowing]]
     41 to clear the buffer as an analogue to [[help:comint-clear-buffer][comint-clear-buffer]] and
     42 replacement for [[help:eshell/clear][eshell/clear]].  It is also able to narrow to a previous
     43 /prompt+output/.
     44 
     45 =C-c M-m= (undefined/[[help:eshell-outline-mark][eshell-outline-mark]]) marks the /prompt+output/ at
     46 point, replacing =C-c M-o= which has been rebound.  If point is at an
     47 empty prompt at the end of the buffer, this will mark the *previous*
     48 /prompt+output/ instead.
     49 
     50 Because this mode doesn't actually enable [[help:outline-minor-mode][outline-minor-mode]], I also
     51 bind =C-c @= to [[help:outline-mode-prefix-map][outline-mode-prefix-map]].
     52 
     53 See [[*Table of keybindings][Table of keybindings]] for a full list of keybindings.
     54 
     55 * Table of keybindings
     56 
     57 | Key     | Description (=C-c C-o= in org-mode to show documentation) |
     58 |---------+---------------------------------------------------------|
     59 | =C-c C-k= | [[help:eshell-outline-toggle-or-kill][show/hide prompt+output or kill process]]                 |
     60 | =C-c C-c= | [[help:eshell-outline-toggle-or-interrupt][show/hide prompt+output or interrupt process]]            |
     61 | =C-c C-t= | [[help:outline-hide-body][hide all]]                                                |
     62 | =C-c C-a= | [[help:outline-show-all][show all]]                                                |
     63 | =C-c M-o= | [[help:eshell-outline-narrow][narrow to prompt+output]]                                 |
     64 | =C-c M-m= | [[help:eshell-outline-mark][mark prompt+output]]                                      |
     65 | =C-c @=   | [[help:outline-mode-prefix-map][prefix for outline-mode-prefix-map]]                      |
     66 
     67 * License
     68 
     69 GPL3+