Terry, since you are working on Leo's next generation edit pane anyway I 
thought I'd at least throw the idea out there to see if it resonated with 
where we'd like to take Leo's body pane. Edward, I'd like to get your take 
as well as it could impact many goals coming up.

I call it "continuous edit mode"

The idea is that the body/edit pane would show node content from multiple 
nodes delineated with a special non-editable stylized heading + vertical 
divider. The nodes it would take body content from would be N visible nodes 
plus or minus the currently selected node. If you move your cursor (up/down 
arrow) past the editable text for one node to the content of the next node 
it will automatically highlight that node in the tree without taking focus 
away from the body. Content from other nodes could be optionally dimmed 
(with shortcutted toggle command) to retain the aspect of focus that Leo 
currently enables by viewing node body content in isolation. 

The benefits/implications of this type of body editor mode:

   - Faster workflow. Switching back and forth between the body is not a 
   big deal but a continuous edit pane would offer a natural method of moving 
   to the next node without leaving the body editor or using shortcuts. Page 
   down/up would always end at the content of the currently selected node 
   without moving to the content of the next node then up/down arrow could be 
   used to move to the content of the previous/next node. 
   - This could provide a flat view of the tree similar to what you see in 
   emacs' org-mode. In essence a type of org-mode emulation, which could help 
   realize a lot features Edward wants to bring from emacs' org-mode. The flat 
   view in general can help give a more global understanding of the code.
   - A mechanism to create a Jupyter like experience where you can create a 
   new "input" node which might be automatically given a node heading "[1] 
   in", type the code you want in the node and and execute it which would 
   create a node directly below the current node with the heading "[1] out" 
   and the output of the previous command and also automatically create a new 
   empty node with the heading "[2] in".
   - Building off the previous example, any type of continuous input/output 
   workflow. I badly want to be able to simulate a shell inside Leo. This type 
   of body editor could facilitate the writing of such "shell" plugins. 
   - A gentler less shocking transition to Leo for new users who are used 
   to "flat" editors. Once they get used to how nodes work.
   - You could use abbreviations or custom commands in the body to create 
   new nodes from the body. Say you type "My next node" by itself on a line in 
   the body and then press the keys for your shortcut to "new-node-from-line" 
   which would create a new node below your current one. The stylized heading 
   shows up in your body editor below the content of the current node. You 
   could then arrow down to switch to the next node, never leaving the body 
   editor but getting the full benefits of a tree structured document.
   - I envision clone-find-all and clone-find-flat becoming even more 
   powerful search tools as you quickly move through the content of the found 
   nodes with just page up/down and arrow up/down.

The generic aspect of such a view mode enables emulating experiences from 
other editors/environments and I believe can be exploited to many other 
user friendly gains as well.

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to