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))