Documentation
Commentary
`outline-stars' provides `outshine'-convention star headings (;; * , ;; ** ,
## * , etc.) using the built-in `outline-minor-mode'. It is a lightweight,
modern replacement for `outshine' that attempts to solve the same problems
in fewer lines on a stable core.
Features:
- Comment-aware heading detection using `comment-start' and `comment-add'
- Per-level fontification via `outline-stars-level-N' faces
- Optional overline on heading lines (top-level only, or all levels)
- `imenu' integration for heading navigation
- Subtree promote/demote that optionally updates all child headings
- Global visibility cycling (folded → content → show-all)
- Startup visibility state (folded, content, show-all) per-buffer or per-mode
- Alphabetical sorting of sibling headings
- Section numbering (0, 0.1, ... or 1, 1.1, ...) with insert/strip/auto
- Scoped numbering: whole buffer, current subtree, or active region
- Automatic TAB cycling on headings via `outline-minor-mode-cycle'
- Installs an `outline-regexp'-driven `outline-search-function' (Emacs 29+)
- Runs on `after-change-major-mode-hook' to override mode-specific defaults
Usage:
(require 'outline-stars)
(outline-stars-mode 1)
Or with use-package:
(use-package outline-stars
:config (outline-stars-mode 1))
Set `outline-stars-section-comments' to nil for classic outshine
behavior (;; *, ## *, # *, // *).
Consumers
Reverse Dependencies
No reverse dependencies recorded.