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+