Skip to content
master
Switch branches/tags
Code

Latest commit

Org ignores sub/superscripts without curly braces when
`org-use-sub-superscripts' is not set to t. Do not toggle
the ignored sub/superscripts in this case.
a4d10fc

Git stats

Files

Permalink
Failed to load latest commit information.

https://melpa.org/packages/org-appear-badge.svg https://github.com/awth13/org-appear/actions/workflows/check.yml/badge.svg?branch=master

org-appear

Make invisible parts of Org elements appear visible.

About

Org mode provides a way to toggle visibility of hidden elements such as emphasis markers, links, etc. by customising specific variables, e.g., org-hide-emphasis-markers. However, it is currently not possible to do this interactively and on an element-by-element basis. This package, inspired by org-fragtog, enables automatic visibility toggling depending on cursor position. Hidden element parts appear when the cursor enters an element and disappear when it leaves.

demo.gif

Installation

The easiest way to install org-appear is from MELPA, using your favourite package manager or package-install. For Guix users, org-appear is also available in the official GNU Guix channel.

Manual installation

With straight.el, simply put the following line in init.el:

(straight-use-package '(org-appear :type git :host github :repo "awth13/org-appear"))

Alternatively, git clone this repository and point Emacs to it using the :load-path keyword of use-package or require.

Usage

The package can be enabled interactively or automatically on org-mode start-up:

(add-hook 'org-mode-hook 'org-appear-mode)

By default, toggling is instantaneous and only emphasis markers are toggled. The following custom variables can be changed to enable additional functionality.

org-appear-autolinks
if non-nil, toggle links
org-appear-autosubmarkers
if non-nil, toggle subscripts and superscripts
org-appear-autoentities
if non-nil, toggle Org entitites
org-appear-autokeywords
if non-nil, toggle keywords in org-hidden-keywords
org-appear-delay
seconds of delay before toggling

If Org mode custom variables that control visibility of elements are configured to show hidden parts, the respective org-appear settings do not have an effect.

Acknowledgements

Special thanks to SPFabGerman, who came up with the idea and extended org-appear beyond emphasis marker toggling, and daviwil, who proposed the org-appear name.

Known Issues

org-appear does not handle overlapping emphasis elements correctly, e.g.,

*Why would someone /nest emphasis* like that?/

In the above example, org-appear can only detect and reveal the first (bold) element. This is due to the reliance on the org-element API – org-element-context in particular – which also fails to detect the second (italic) element.

org-appear will fail to detect elements nested inside certain other elements, such as comments or document titles.