Code Monkey home page Code Monkey logo

org-ol-tree's Introduction

Org Outline Tree

https://img.shields.io/badge/works%20on-27.1+-blueviolet.svg?logo=GNU%20Emacs&logoColor=white http://img.shields.io/badge/license-MIT-brightgreen.svg https://github.com/Townk/org-ol-tree/actions/workflows/tests.yml/badge.svg https://codecov.io/gh/Townk/org-ol-tree/branch/main/graph/badge.svg?token=XL88FR24XT

This package offers an Org mode outline window that does not use indirect buffers.

Currently this is on its infancy and it may or may not have a bright future. This means that this package will not make into MELPA before it reaches some level of maturity.

./assets/screenshot.png

In this pre-alpha release, this package can display all headlines as an outline tree on the right side of the frame. You can press [enter] to scroll your buffer to the selected heading, or you can use the universal prefix before pressing [enter] to have your buffer narrowed to the selected heading.

This is a list of features I want to implement before doing a proper release of the package:

  • Promote or demote a heading from the outline;
  • Move headings up and down;
  • Rename headings from the outline;
  • Have a configuration for the window position;
  • Add default keybindings for Vanilla Emacs and Evil;

And this is a list of features I want to have in this package but I don’t want to commit to it right away:

  • Add a toggle to make the outline and the target buffer synchronize their expand/collapse state;
  • Add all keybindings you can use on a heading on an org file;
  • Add some hydra or transient helpers for the outline shortcuts;
  • Refactor headings into their own org file;
  • Embark integration;

There are also two features I really want but I don’t know how to implement them:

  • Auto resize the outline’s window according to the length of its headings.

    If I was to implement this feature just for users of fixed width fonts, it would be a breeze to get this done, but I dimply don’t know how to /measure/ a string with a given font on Emacs! If you know how to do it, ping me! Update: this feature is live on main.

  • Add support for TODO items in the outline.

    My issue here is more an architecture decision problem. Since TODOs are essentially normal headings with the word “TODO” prefixing them, how should I display them? My initial idea was show them grouped in a child node from their parents under a node called Tasks. The problem here is when someone decides add more subheadings and text after the TODO. On that case, what should I do? Add the next section as a child section of its parent? Consider everything after it as part of the task?

    So, if you have a good idea on how to handle TODOs from an outline perspective, also ping me for a quick chat!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.