Don't panic.  Note the word "might" in the title.

Before going further, please look at the Why Atom? 
<http://flight-manual.atom.io/getting-started/sections/why-atom/> page. It 
would also be good to install atom 
<http://flight-manual.atom.io/getting-started/sections/installing-atom/> 
and read Atom Basics 
<http://flight-manual.atom.io/getting-started/sections/atom-basics/> page.  
Make sure to try Shift-Ctrl-P :-)

The atom editor deserves serious consideration as a "hosting platform" for 
Leo's technology, for at least the following reasons:

- Afaik, atom does everything it has *in common* with Leo significantly 
better than Leo does.  That includes installing plugins and themes, 
managing the screen, search/replace, basic settings, minibuffer interface, 
syntax coloring, auto-completion, support for git, rendering markdown, 
IPython/Jupyter support, etc. Atom might win the "most cool features" award 
among all text editors and ide's.

- Atom has superb docs, and is significantly easier for newbies to use than 
Leo.

- Atom is "going places".  Atom has a large user base and many active devs. 
Atom boasts hundreds of plugins, including:

hydrogen <https://github.com/nteract/hydrogen>: Adds IPython-like features 
and was inspired by Light Table, with similar features. Another post will 
discuss how this might be adapted to form the basis of a Leo plugin for 
Atom. This apparently replaces the jupyter-notebook plugin.

remote-edit <https://atom.io/packages/remote-edit>: Supports browsing and 
editing remote files using FTP and SFTP.

This page <https://atom.io/packages/list?direction=desc&sort=downloads> 
lists all atom plugins, sorted by most downloads.

- Atom is a desktop App. From the Why Atom? 
<http://flight-manual.atom.io/getting-started/sections/why-atom/> page:

"Web browsers are great for browsing web pages, but writing code is a 
specialized activity that warrants dedicated tools. More importantly, the 
browser severely restricts access to the local system for security reasons, 
and for us, a text editor that couldn't write files or run local 
subprocesses was a non-starter."

- Atom uses the *latest* version of the Chrome rendering engine.  From the Why 
Atom? <http://flight-manual.atom.io/getting-started/sections/why-atom/> 
page:

"Another great benefit [of Atom] is the guarantee that it's running on the 
newest version of Chromium. That means we can ignore issues like browser 
compatibility and polyfills. *We can use all the web's shiny features of 
tomorrow, today*."

- Atom plays well with C++ (or Python): From the Why Atom? 
<http://flight-manual.atom.io/getting-started/sections/why-atom/> page:

"Interacting with native code is also really simple. For example, we wrote 
a wrapper around the Oniguruma regular expression engine for our TextMate 
grammar support. In a browser, that would have required adventures with 
NaCl or Esprima. Node integration made it easy."

*Summary*

Atom has virtually everything, *except* those features that make Leo what 
it is, namely scripting *in Python,* scripting API, clones, access to 
outline data, @clean, etc. We might delegate everything else to atom ;-)

The big question is, can Leo remain Leo when hosted on atom?  I believe the 
answer is yes.  The hydrogen <https://github.com/nteract/hydrogen> package 
hints at the way forward.  More details in another post or two.

My next prototype will be an atom plugin, following this excellent tutorial 
<https://github.com/blog/2231-building-your-first-atom-plugin>.

All comments welcome.

Edward

-- 
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 leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
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