my 2 cents to embedding Leo into other editor or vice versa

2018-02-21 Thread vitalije
Last summer I had this idea of using another open source editor and adding 
features unique to Leo. I did considered several editors implemented in 
browser or browser-like environment. That includes Atom, but also 
LightTable, NightCode, and few others. Even old jEdit came to my mind.

All these editors offer writing some kind of extension or plugin.

After a while I thought that easiest way to connect the two is implementing 
some kind of special file system. In this (let's call it LeoFS), filenames 
are gnxes and file content is the body or maybe (headline + '\n' + body). 
All these editors have some kind of tree representation of the file system 
which can be enhanced to draw Leo icons and headlines instead of filenames. 
When they update file, LeoFS would update corresponding body. LeoFS could 
be easily implemented using leoBridge. The main challenge would be to find 
some kind of multi platform python library for implementing file system. I 
don't remember if I had search for such a thing or not. I remember reading 
about fuse (pyfuse, or something similar). 

By the way jEdit has its own internal file system interface which allows 
users to just plug-in their own implementation and it works well on Linux, 
Windows and Mac. jEdit also supports scripting in several languages 
including python(jython).

I realized through these (thought) experiments, that the one thing that 
makes Leo best editor for me is not its code, editing features, look, ..., 
but this brilliant idea *at-others* and also scripting. Scripting is 
something that lot of other text editors support, but* at-others* is 
uniquely Leo's. Add support for at-others to any other scripting text 
editor and you've got Leo.

I am amazed how no one has implemented such feature in any other editor 
yet. Due to the lack of time I had to abandon this idea but it still burns 
in the back of my head waiting for a better time to be realized.

Vitalije

-- 
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.


Re: my 2 cents to embedding Leo into other editor or vice versa

2018-02-21 Thread Edward K. Ream
On Wed, Feb 21, 2018 at 2:42 AM, vitalije  wrote:

Last summer I had this idea of using another open source editor and adding
> features unique to Leo. I did considered several editors implemented in
> browser or browser-like environment. That includes Atom, but also
> LightTable, NightCode, and few others. Even old jEdit came to my mind.
>

​Interesting.

After a while I thought that easiest way to connect the two is implementing
> some kind of special file system.
>

​Or a representation of one. I'll say more about this in another thread.
​


> I realized through these (thought) experiments, that the one thing that
> makes Leo best editor for me is not its code, editing features, look, ...,
> but this brilliant idea *at-others* and also scripting. Scripting is
> something that lot of other text editors support, but* at-others* is
> uniquely Leo's. Add support for at-others to any other scripting text
> editor and you've got Leo.
>

​@others was born on March 5, 1996
, in the first hour of
prototyping Leo using MORE.

I am amazed how no one has implemented such feature in any other editor
> yet. Due to the lack of time I had to abandon this idea but it still burns
> in the back of my head waiting for a better time to be realized.
>

​@others is natural only in the context of nodes and section references.
True, node could be mapped onto files, but the motivation requires literate
programming.

Many thanks for your comments.  They are important.

My focus for now is on exploration, no matter what I appear to be saying ;-)

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.


Re: Atom might be Leo's future

2018-02-21 Thread Edward K. Ream
On Wednesday, February 21, 2018 at 1:39:52 AM UTC-6, Edward K. Ream wrote:

I wrote my last post in the middle of the night.  It shows :-)

After getting more sleep, and discussing the issues with Rebecca, more has 
become clear. Here is what I think I know for sure:

*No forks, but...*

Leo's code base can't be allowed to fork, but *that's not a big constraint*.

Indeed, standard Leo plugins could communicate with *external hosts* such 
atom, vscode, jupyter notebooks, eclipse, jEdit, etc.  Let's call these Leo 
python plugins *external gui plugins*. These Leo plugins would communicate 
with *host plugins* in the external hosts.  Host plugins could be written 
in javascript (atom, vscode) or java (Eclipse) or python (jupyter).

*All *gui plugins, external or not, create two way communication between 
the gui plugin (the screen) and Leo's core.  That's what makes *any* gui 
plugin difficult. Lockouts are usually needed. User actions create events 
in Leo's core. Those events must be prevented from creating further actions 
in the gui.

External gui plugins will communicate with the host plugins to do the 
actual drawing. When opening a .leo file, the external gui plugin would 
send a *representation *of the entire outline to host plugin.  json or cson 
should suffice.

The leoBridge will not change.  Instead, external gui plugins *might* 
launch a hidden version of Leo:

python launchLeo.py --gui=vscode

Leo itself will remain *almost completely unchanged*. The console gui 
required about 10 benign new lines of code.  We should expect (require!) 
the same for any external gui plugin.

*What is Leo?*

- Vitalije asserts that @others is essential. I agree.

- The "no fork" rule means that Leo's core must remain unchanged.

- Python scripting access to Leo's code and data (c, g, p) is also 
essential.

Many people are leery even of python.  Forcing them to learn any variant of 
javascript is out of the question.  Support for any other scripting 
language would require shims.  We aren't going there.

*What do we want?*

- Not everyone will want to using an external program, no matter how glitzy.

- We must continue to improve the pure python version of Leo.

- The lure of web technology beckons.

- I'll continue to explore external hosts and their features.  An atom or 
vscode plugin may be next for me.

*Summary*

Plain Leo plugins (external gui plugins) should/must suffice to embed Leo 
in atom, vscode, eclipse or jupyter. They may be easier to do than Leo's 
console gui plugin!

Except for a few benign lines of code, Python's core will not change to 
support external gui plugins.

Leo's core, markup (@others, section references, directives) and python 
scripting are all part of Leo's essence.  They will not change.  And 
neither will any other essential part of Leo that I haven't mentioned ;-)

Work will continue "forever" on improving the pure python version of Leo.  
This may include work on all the cool features we envy in atom! This is 
challenging work, even with access to the eric and pycharm code bases.

I will continue to explore options, including looking for nifty external 
hosts.  I would also like to do one external gui plugin as a learning 
exercise.

Please keep your comments coming. Feel free to vote for the external gui 
plugin you most want to see.

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.


Re: Atom might be Leo's future

2018-02-21 Thread Edward K. Ream
On Wednesday, February 21, 2018 at 8:26:42 AM UTC-6, Edward K. Ream wrote:

external gui plugins *might* launch a hidden version of Leo:
>
> python launchLeo.py --gui=vscode
>

Oops.  I got this backwards.  *Host plugins* would launch a hidden version 
of Leo.

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.


Re: Atom might be Leo's future

2018-02-21 Thread Edward K. Ream
On Wednesday, February 21, 2018 at 8:26:42 AM UTC-6, Edward K. Ream wrote:

Work will continue "forever" on improving the pure python version of Leo. 
>
This may include work on all the cool features we envy in atom! 
>

Or pycharm.  This video 

 
is a very impressive overview of pycharm's features. Not sure every feature 
of this video is available in the open source version, but apparently many 
are:

   - Intelligent Editor 
   
   - Graphical Debugger 
   
   - Refactorings 
   

   - Code Inspections 
   
   - Version Control Integration 
   

These are way too good to miss!

I'll investigate adding a Leo plugin to pycharm soon.  It might be possible 
to retain Leo's core within the pycharm world...

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.


Re: Atom might be Leo's future

2018-02-21 Thread Edward K. Ream
On Wednesday, February 21, 2018 at 9:01:59 AM UTC-6, Edward K. Ream wrote:

This video 
> 
>  
> is a very impressive overview of pycharm's features. Not sure every feature 
> of this video is available in the open source version, but apparently many 
> are:
>
>- Intelligent Editor 
>
>- Graphical Debugger 
>
>- Refactorings 
>
> 
>- Code Inspections 
>
>- Version Control Integration 
>
>
> These are way too good to miss!
>

And here's another list of features claimed to be in the open source 
version of pycharm:

   - Core Python language support 
   
   - Code Inspections 
   
   - Refactoring 
   

   - Local debugger 
   
   - Test runners 
   

 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.


Plans for the near future

2018-02-21 Thread Edward K. Ream
To repeat the tail end of a long thread:

This video 

 
demos pycharm's impressive features. Some features may be missing in the 
open source version, but the docs say the following features *are* in the 
open source (community) edition:

- Intelligent Editor 

- Graphical Debugger 

- Refactorings 

- Code Inspections 

- Version Control Integration 

- Core Python language support 

- Local debugger 

- Test runners 


I am suffering an acute case of pycharm envy.  Otoh, Leos abbreviations, 
including tree-generating abbreviations, might be missing from pycharm.

My plans at present:

- Investigate embedding Leo into pycharm using a pycharm plugin.  This will 
be either straightforward (likely) or impossible ;-)

- Investigate creating a leo host plugin for either atom or vscode.

I'll choose between these based convenience, that is, based on 
documentation and tools.  This choice will not be an endorsement of either 
atom or vscode.

This work should help clarify the issues needed to support Joe Orr's LeoVue 
work.

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.


Re: Plans for the near future

2018-02-21 Thread Edward K. Ream
On Wednesday, February 21, 2018 at 9:20:46 AM UTC-6, Edward K. Ream wrote:

> I am suffering an acute case of pycharm envy.  

And look at the pycharm plugins  
page.  Plugins for Rust , 
NodeJS  and lots more.  
See the bottom of the page.

Maybe a Leo plugin is next.

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.


Re: Plans for the near future

2018-02-21 Thread Edward K. Ream
On Wednesday, February 21, 2018 at 9:33:16 AM UTC-6, Edward K. Ream wrote:
>
>
> And look at the pycharm plugins  
> page.  Plugins for Rust , 
> NodeJS  and lots more.  
> See the bottom of the page.
>
> Maybe a Leo plugin is next.
>

It looks like pycharm plugins are written in java 
.
 
It's not a deal breaker.

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.


Re: A Recent Article by Me

2018-02-21 Thread Satish Goda
My pleasure.

I have also updated my leo-editor-tutorial GitHub repo with the link. 

https://github.com/satishgoda/leo-editor-tutorial/blob/master/README.rst

Cheers,

On Tuesday, February 20, 2018 at 11:46:30 PM UTC-8, Edward K. Ream wrote:
>
>
>
> On Tue, Feb 20, 2018 at 5:40 PM, Satish Goda  > wrote:
>
>> This is awesome. I really think the following paragraph from your article 
>> summarizes the unparalleled utility of Leo.
>>
>> Outliners impose structure on documents. Sadly, they can also impose 
>> structure on our thinking, making creativity a lot harder. Leo is 
>> different. Instead of imposing structure, it allows you to impose your own 
>> infrastructure, and then be as creative as you want. This brings the 
>> necessary chaos of creativity to heel when it is time to produce the 
>> document. The node structure creates ultimate flexibility when it comes to 
>> ordering scenes in chapter. Say good-bye to copy and paste and hello to 
>> drag and drop. 
>>
>> I shared your article to my followers on LinkedIn.
>>
>
> ​Excellent.  Thanks for doing so.
>
> 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.


Re: A Recent Article by Me

2018-02-21 Thread Edward K. Ream
On Wed, Feb 21, 2018 at 11:32 AM, Satish Goda  wrote:

I have also updated my leo-editor-tutorial GitHub repo with the link.
>
> https://github.com/satishgoda/leo-editor-tutorial/blob/master/README.rst
>

​Thanks for this.

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.


How did I came across Leo?

2018-02-21 Thread Satish Goda
It has been almost 14 months since I discovered Leo and today I recalled 
how I found it.

I was searching GitHub for the term "QWidgetAction" and came across its 
usage in Leo codebase.

And then curiosity killed the cat and I was curious about Leo and read 
about it and downloaded it 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 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.


Re: How did I came across Leo?

2018-02-21 Thread Largo84
I found Leo when I was looking for a replacement for ECCO (anyone remember 
that program?) I used ECCO for 15 years after it wasn't supported anymore 
and the core group of diehard users finally lost hope the program owners 
would open source the code.

Anyway, I don't remember how long ago that was; at least 10 years ago, as I 
recall. In most respects, Leo is a *major* improvement over ECCO and I 
don't regret the switch. However, the one thing I still miss about ECCO and 
wish there was a good Leo integration is the calendar. ECCO could print 
almost any kind of calendar, in practically any format on any size. I 
really miss that. There's no other PIM on the market that I know of that 
has that kind of flexibility.

Perhaps other Leo users figured out how to integrate their calendar(s) with 
Leo; I haven't and would love to know how (if it's possible).

Rob...

-- 
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.


#738 Links in "Leo Tips" dialog should be clickable

2018-02-21 Thread Satish Goda
Ref: https://github.com/leo-editor/leo-editor/issues/738

The "Leo Tips" dialog is a very welcome feature and is great for 
reiterating some of the core and useful features of Leo. Some of the tips 
have links to further reading but at the moment, cannot be clicked or 
copied.


To improve the utility of the information presented by the dialog, can we 
please make the text selectable and hyperlinks to be clickable.


Thank you.

-- 
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.