An interactive Emacs function, Jump to Org Project Section, allows you (in one step) load an Org file from a project and jump to a particular tree’s heading.
Find a file
Howard Abrams a6255c1127 Proof of concept that works for me
Copied the original code from the Emacs configuration to make it
available to others. Need to get a better packaging setup.
2024-11-16 10:51:33 -08:00
.gitignore Initial commit 2024-11-16 18:49:12 +00:00
jops.el Proof of concept that works for me 2024-11-16 10:51:33 -08:00
jops.org Proof of concept that works for me 2024-11-16 10:51:33 -08:00
LICENSE Initial commit 2024-11-16 18:49:12 +00:00
README.org Proof of concept that works for me 2024-11-16 10:51:33 -08:00

Jump to Project Headlines

An interactive Emacs function, Jump to Org Project Section (or JOPS), allows you (in one step) load an Org file from a project and jump to a particular trees heading.

Note: Still working on a name for this project. 😏

Why?

You can use the consult project to call consult-imenu or org-consult-heading to jump to a section in an Org file based on a headline. But as projects with a lot of Org files grow (for instance, literate programming projects) one refines, re-organizes and refactors the content moving a sub-tree from one file to another… perhaps loosing track of the move. Personally, I often forget where I moved a particular section. For instance, in my Emacs configuration, did I configure eww, in this or that file, or did I move it to its own dedicated file? But even if you know where, this function is a nice micro-optimization to the act of loading the file and jumping to the section (often called sub-trees in Org parlance)

Installation

Until this finds a home on Melpa, you will need to clone this project, as well as the Magnars s.el library (or grab that from Melpa).

Also, install ripgrep (see the Installation Guide for help getting this on your operating system).

Usage

Call the interactive function, jops as the primary interface.

Customization

Set the variable, jops-ripgrep to the full path of ripgrep if you cant adjust the PATH environment variable for Emacs (or change the exec-path.

Set the jops-flush-headers as a regular expression to filter redundant or useless headlines.