This package provides commands for cycling the visibility of
outline sections and code blocks. These commands are intended to
be bound in outline-minor-mode-map and do most of the work using
functions provided by the outline package.
This package is named bicycle because it can additionally make
use of the hideshow package.
If hs-minor-mode is enabled and point is at the start of a code
block, then hs-toggle-hiding is used instead of some outline
function. When you later cycle the visibility of a section that
contains code blocks (which is done using outline functions),
then code block that have been hidden using hs-toggle-hiding,
are not extended.
A reasonable configuration could be:
(use-package bicycle
:after outline
:bind (:map outline-minor-mode-map
([C-tab] . bicycle-cycle)
([S-tab] . bicycle-cycle-global)))
(use-package prog-mode
:config
(add-hook 'prog-mode-hook 'outline-minor-mode)
(add-hook 'prog-mode-hook 'hs-minor-mode))