Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Org mode #1072

Open
7 tasks
codygman opened this issue Mar 10, 2018 · 3 comments
Open
7 tasks

Feature Request: Org mode #1072

codygman opened this issue Mar 10, 2018 · 3 comments

Comments

@codygman
Copy link

Vision: 100% Haskell clone of https://orgmode.org/ using Yi

Why?

  1. Performance

I don't know about anyone else that uses org mode, but once my org mode documents get to be over 1MB I start getting lots of weird little hangs and general laginess. I've tried debugging org-mode before, and it seems all roads lead back to https://github.com/codygman/figure-out-emacs-long-lines-issue/blob/master/figuring-out-emacs-display-issues.org

  1. Familiarity with Haskell

For me personally, but I'm sure there's a non-zero overlap of people who use org-mode and haskell.

  1. Babel Performance

I've recently changed my entire workflow to use something akin to outlined tasks interspersed with babel source code blocks which are sometimes tangled to source files. For an example of part of this workflow, see http://www.howardism.org/Technical/Emacs/literate-devops.html.

However, performance of babel which writes results to buffers (with very long lines usually that slow down emacs (even moreso on the osx machine I use at work)) and/or to files. The lack of concurrency here slows everything down.

  1. Tramp performance

Would only worry about this after #1071 of course, but I think having a much faster tramp mode would blur the line between an interactive ssh session and a literate devops document that is reproducible.

How? Roughly speaking, I think implementing it would look like:

  • toggle expand of nodes
  • TODO/DONE functionality
  • haskell source code blocks
  • shell source code blocks
  • extend source code blocks to respect tramp :dir /ssh:server.remote
  • allow any node to be annotated with schedule DATE or deadline DATE
  • org agenda

I haven't researched everything, but I did find some org mode parsers available in Haskell:

Given my reasoning for this is increased performance, I'd be more easily swayed towards the attoparsc based parser unless I see it's lacking some pretty big conveniences or is much less mature. I have no prior experience with either though.

I've had this in my head forever and have delayed posting until I had a better proposal, but I've finally decided to just post this up :)

Thoughts?

@Fuuzetsu
Copy link
Member

org mode does a lot of things, 100% sounds far too ambitious. For example you'd have to implement nested parsers. We should outline actual features we want first.

@codygman
Copy link
Author

@Fuuzetsu Don't necessarily disagree, I'll try to add more on the minimal feature set my workflow would need. Hopefully that coincides with others needs as well.

@ghost
Copy link

ghost commented Sep 15, 2019

Besides the ambitious goal of org-agenda a lot of the same functionality can be achieved with markdown-mode in emacs, which would be great to have in yi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants