yi-editor / yi

The Haskell-Scriptable Editor
GNU General Public License v2.0
1.51k stars 200 forks source link

Feature Request: Org mode #1072

Open codygman opened 6 years ago

codygman commented 6 years ago

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:

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 commented 6 years ago

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 commented 6 years ago

@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 commented 5 years ago

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