Folding Text for Atom 0.9.0 First Impressions


#1

I just tried out FT for Atom, and here are my impression of 0.9.0:

It feels so to what I want in an outliner (tags, folding, focus/hoisting). If it had a bit more polish I think I would be an easy buy:

  • Ability to save directly to .md/.txt
  • jk for up/down navigation in outline mode. It’s cumbersom to take hands off home row
  • Partial matches for tags when searching.
  • h/l, left/right to expand/collapse folds in outline mode. I know Atom has folding shortcuts, but this is much more simple.
  • Centralized source of all keyboard commands in the documentation. This was hard to find for me.
  • Adding tags in insert/edit mode just by typing #mynewtag, deleting tags in insert/edit mode by deleting the tag.
  • Reordering rows with keyboard shortcut in addition to dragging the arrows (eg. ctrl up, ctrl down, ctrl j, k)

Not quite a tweak but a new feature: Tree navigation in left-hand pane. Essentially a two-pane outliner with the entire outline always visible in the right-hand pane. Like https://vim-voom.github.io/pics/voom_txt2tags.png or https://en.wikipedia.org/wiki/Outliner#Layout


#2

Glad you like what you see so far.

FoldingText for Atom 0.9.0 isn’t likely to change very much in the near term. I’m in the middle of writing an OS X native front end (the editor part) for the underlying javascript model. I’m trying to write it in such a way that it will be relatively simple to switch out the OS X native layer and plug in Atom’s default text editor component. So that’s the long term goal as far as Atom goes, replace the custom outline editor view that I wrote with Atom’s editor… while keeping all the same underlying “outline” features.

This is also something that I’m doing working on in my OS X work. I’m implementing it in the Javascript layer so expect it will make it back to Atom.

I’m unlikely to have time for this for quite some time. My priorities at moment are:

  1. Finish OS X native stuff so I can start making some money again.
  2. I think next will be to port that work back to Atom.

But if you anyone is interested in a Atom hacking project, it would be relatively strait forward to build an extra outline pane. There’s API in place for observing (and manipulating) the underlying outline model that I’m using in Atom: http://www.foldingtext.com/foldingtext-for-atom/documentation/api-reference/.

So you would need to:

  1. Figure out how to create a new pane in Atom (which is already has API for)
  2. Add an observer for the active outline editor and then observer that editors outline. http://www.foldingtext.com/foldingtext-for-atom/documentation/api-reference/FoldingTextService/
  3. Display what you want out of that outline in your pane.

Jesse