Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Leo Editor (leoeditor.com)
144 points by satvikpendem on Sept 26, 2021 | hide | past | favorite | 39 comments


The problem I had with Leo was that it tried to be so many things. On another page, their site calls it:

- A fully-featured IDE, with many features inspired by Emacs.

- An outliner. Everything in Leo is an outline.

- A data manager, data manager and personal information manager.

- A powerful scripting environment.

- A tool for organizing and studying computer code.

It claims to be for programmers, authors, and web designers, but I couldn't figure out how to make it good for anything. That may well be my fault, but the experience was frustrating.


Emacs pull all that off and then some, but people trying to copy it's success sometimes miss that this versatility depends on two factors:

1. Emacs being an incredibly flexible computing substrate, a well-documented platform for software working with 2D text data as its core abstraction - on top of which all those use cases are supported, through both first-party code and third-party packages.

2. Emacs user base being self-selected to contain people willing to tolerate less than perfectly polished UI, various UX quirks, and who understand this is a hacker's tool, that can and should be modified until it fits the user like a glove.

In other words: this success story takes both more work than it seems, and a specific attitude of the users.


> should be modified until it fits the user like a glove

more like a gauntlet


As an Evil user touching Emacs only for org-mode, this sums it up perfectly.

Emacs-Evil-OrgMode is heavy, uncomfortable, and downright tiresome. But it is powerful, like an iron fist, and for some jobs a powerful iron fist really is the right tool.


I got really into it at one point (circa 2001) but kept running into memory leaks that made it really annoying.

It’s like vim or emacs (or even got :) ) in that it has a logarithmic learning curve: steep up front, but the concepts you learn up front have a lot of leverage later on.


I've been using it for getting on for 20 years. It's not the best editor (I use emacs for some things) and has some quirks, but the joy and simplicity of outlining code so far outweighs all the drawbacks that I still use it as my main editing environment.

In the past I've tried to get to grips with emacs org-mode for the same thing, but Emacs.

And Ed Ream is super-responsive if there are issues


I was curious as to what was special about Leo, and it seems to be "outlining".

I'm not clear on what this term means. Can you explain how Leo helps with it, and what it means?


Outlining in this context means to break up a bigger structure in smaller parts. Like break a document up into each individual paragraph, or sourcecode into functions. Each smaller part is then available to be handled in (semi)programatic ways.

For example, you can link one part to appear on multiple locations of the document. Or you can write a script which filters the parts and rearranges them in your desired structure.

The point of something like leo editor is to have theoretically a unified way to do all that.


I was thinking the same as you. It seems to be another term for code folding. It is where you collapse parts of a source file into a single line so you can just focus on the part of the source file that you are interested in.


Like org-mode?


It’s more like the literate programming parts of org-mode except Leo is more of a live view, from what I remember.


I outline my code, and other documents, by using folding in Vim. Plus plugins for Markdown, LaTeX, and other formats generate tables of contents from headers and sections.


Please suggest a good Markdown plugin for VIM - and why you like it. I've given up on the plugins... I'm now editing Markdown in plain VIM and my newest files are org-mode instead.


I use vim-markdown. It's not perfect, but does what I want. Generates a table of contents in a side window, from there I can jump to any heading by putting the cursor on the item and pressing RETURN. The TOC is indented to show heading level, so it serves as an outline. In the main window there are commands to jump to next or previous heading, sibling, heading of current section. It has concealing for bold, italic, and (this one is important) links. It syntax colors code blocks using the syntax file for the language in the block.

I'm making small changes to it, and actually have my own fork on GitHub with a change that I needed. But the developer doesn't seem to tend to it much.


Thanks, I found your fork here: https://github.com/leephillips/vim-markdown

I'll take a look at it. Tim Pope also has an independent plugin also called vim-markdown, I don't remember what the differences were between your upstream and his.


Looks like (vim legend) Tim Pope’s is the Markdown support included with Vim. My fork is of plasticboy’s, which adds a few features, like the TOC generation, to the default. So far my fork just adds one option that I needed, to only recognize Atx headers.


Not OP, I am using these two https://github.com/masukomi/vim-markdown-folding.git & https://github.com/plasticboy/vim-markdown.git and they work great. I like them because they work fine for me.


Thank you! Why are you using a separate folding plugin, doesn't vim-markdown provide folding? Does it fold better?


I've been using them so long I can't be 100% sure but while they both fold, only one of them preserves the title of the heading while the other folds the whole section. Check the documentation.


From the description it sounds like Org-mode with more coding: both more suited for entering programs (if IDE features indeed mean more than ‘syntax highlighting and regex-substitution’), and for programmatic working with structure. Alas Org is not great on the latter front.


Very versatile editor. Also see the just-released integration with VS Code: https://github.com/boltex/leointeg.


Oooh. Thank you so much for pointing out the VS Code integration....

Five years ago, Leo was my main note-taking-while-dev-and-doing-projects application. Then I switched to Emacs and Org-mode. And more recently JupyterLab plus Markdown in VS Code.

This will let me go back to Leo, while staying inside VS Code :)


And related comments about the VS Code integration

https://news.ycombinator.com/item?id=17769892


Some past threads:

Leo Editor - https://news.ycombinator.com/item?id=17769892 - Aug 2018 (108 comments)

Leo editor – “a revolutionary step in the right direction for programming” - https://news.ycombinator.com/item?id=7843907 - June 2014 (48 comments)

LEO - Literate Programming editor in Python - https://news.ycombinator.com/item?id=734720 - July 2009 (2 comments)


Leo Editor is a very twisted project. On one side it has very useful ideas, a small but vibrant community, and a very active development...and on the other side it's one of the most user-hostile projects I've ever seen. Not on purpose, though, but purely because of how the project works and grows. There is no dedication to polish it for users, or polish anything at all. There is always an urge to go after the newest hype of the week and wreaking the app with all kind of half-finished garbage.

I've used Leo since around 2015, at which the project was 18 years old, not sure how old the actual implementation was at that point. But the interesting part even back then was how few in this app actually worked, and how many errors it had. The amount of data loss I had in the beginning was interesting. Notable are also all the "creative" poor solutions for certain features. And till this day I will never understand why the file-menu does not follow the established culture, and instead is all according to "gut-feelings".

That said, it has become a bit better in the last years, at least the data losses have been mostly fixed, and some creative solutions have been improved. But I've seen in the 5 years I used Leo many new people coming and going, and I don't think that will ever change. The project itself is much its own greatest obstacle for success, IMHO.


"Leo is a revolutionary step in the right direction for programming."―Brian Takita

Ok, but when was this comment made? Was this in 1998 or in 2020?


And who is Brian Takita and why should one care what he says about some application?


I think the key innovation of Leo is it's use of "clones" in outlines (see discussion here; http://leoeditor.com/tutorial-pim.html). In my experience this is the perfect bridge between a strictly hierarchical tree structure and a more generalized graph structure in terms of organizing information.

I've played around with other outliners that implement some what similar concepts, but none that I know of implement it as well as Leo.


I had a lot of issues with Leo, mostly outlined in other comments, but one good 'replacement' I found was 4coder. It seemed to be a bit more direct in its approach.


I've thought, why so many hand made editors are exist... Then I realized that because of book of gang of four...


As some others have already hinted, this sounds a lot like Emacs with Org-mode. Also, who writes such testimonial snippets? The style of writing doesnt make me particularily trust they are real :-)


It's not really like org-mode, but similar. The big difference is that org-mode has inline-folding, while leo breaks up and recreates documents on loading/saving-time. Inside the app, leo has better performance because of this, and potentially less problems with folding-syntax. It's also quite easy for leo to allow hard and soft linking in it's document-tree. With org-mode this is only possible through ugly hacks.


Org mode has the ID property, you can implement soft linking with them.


Yes, you can, but it's still an ugly hack. Or is org-mode now capable of live-updating the linked segments?


The first link, "Joe Orr's must see demo" sends us to a project page for integrating Leo with web publishing. The video demo is nowhere to be found.


>Here is reduced screenshot of Leo's main window. You can view the full-sized image using something like "view image" in your browser.

What a weird sentence to read at this point of the Internet.


The website is terrible on mobile and the theming/branding also doesn’t inspire confidence. To me it conjures the idea of people stuck in their way.

Then again, don’t judge a book by it’s cover.


I was going to mention that Vim’s website[0] is possibly worse, but then I looked up Neovim’s website[1] which was definitely made with mobile in mind, and isn’t terrible.

[0] https://www.vim.org

[1] https://neovim.io


I went to vim.org, I was never there, because I go to church.

I find Leo's website worse than vim's. The vim site has a clear green download button. This is a straightforward design feature I like.

The picture with the kid and the power tool is funny. I liked that too.

Then, a advertising banner on the right colum. Seriously? On the homepage of one of the most [will not bring myself to say a deserved positive adjective here, because I go to church] open source projects.

Edit: Church references church of Emacs of course.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: