bicycle

Homepage: https://github.com/tarsius/bicycle

Author: Jonas Bernoulli

Updated:

Summary

Cycle outline and code visibility

Commentary

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

Dependencies