Ideally for premier it would be aimed at any level of expertise and I would 
say more in competition with something like Spyder. I agree that PyCharm 
has very advanced features. I guess IDE has a very broad definition and 
everyone expects something different from an IDE, there may be people who 
wouldn't even consider Spyder and IDE but rather an advanced editor with 
heavily integrated REPL functionality. I consider PyCharm, Spyder, and Leo 
all to be IDEs with different focuses. 

Unless i've overseen something, it only outlines structure, meaning 
> functions/methods and classes, and only at import-time.
> Not loops, conditionals, comments and it does not update them after a 
> change in the body, only when it reimports from the file.


I think this is looking at Leo in the wrong direction, ie, files that 
originate from outside of Leo. Leo's power is in files that originate 
within Leo. Arbitrary levels of structure can be specified when a source 
file is authored from within Leo and that structure is maintained as well 
as it can internally with the current algorithm. For example I've given OOP 
like structure to bash scripts using Leo and it has allowed me to manage 
huge amounts of reusable code. 

You do have to reload the file manually, but it *does* update the body 
after an external change. The current import algorithm certainly could do 
more and I believe a recent ENB discussion touched on further views into 
code which can offer insights into inner workings. This point perhaps 
warrants some further discussion. 

Compared to folding the outline brings here only a slight advantage.


I disagree whole heartedly with this statement. While I find code folding a 
big advantage over non-folded code I don't think it goes nearly far enough 
in visually presenting the small code chunks I personally require for 
quickly understanding and manipulating blocks of code. Hoisting and 
De-hoisting takes this a step further by even limiting your tree view to a 
subtree of what you're currently interested in while keeping the rest of 
your project and code within reach.

active-path is for me very unnatural. Is there any option to let it update 
> automatically?
>

Active-path could use an automatic update option, I fully agree. It's on my 
long list. 

Compared to what?


Compared to numerous softwares I've tried and been unhappy with. Being 
provided a visual list of matches I find important (I like the way that 
sublime text does this) and for the code to be offered up into smaller 
chunks (nodes) is the key for me. 

Does it fix the problem of missing lines after functions, methods and 
> classes when Leo generates a Python-File? Thus, producing pep8-compatible 
> code without manual fixing?


Unfortunately it does not do this explicitly but yes it can help get you 
closer by ensuring that in appropriate places there are exactly two newline 
characters at the end of a node. I once brought up that there should be a 
way to specify a character between node. This would be naturally 
implemented with a body only directive similar to say "@tabwidth -4", I 
envision something like @endchar \n . That said, I've been doing this 
manually for a while and with the implementation of left gutter line 
numbers I've found this less troublesome, though I think it would still be 
a good feature and clearly I'm not the only one who wants it. I'd like to 
look into it myself but I find the core code to be a little harder to crack 
than say writing plugins.

Why the apostrophes? What exactly do you manipulate? The structure or the 
> code in a node-body?


I used double quotes sort of being snarky, relating to have to do node-body 
manipulating of code myself rather than using refactoring features not yet 
found in Leo. 

I'm still not sure what power that exactly should be. All I've seen so far 
> in that regard is just not impress enough to use Leo exclusive
> for python-coding, especially taking the lack of power on other fronts. 
> Beyond fast restructuring and researching legacy-code, what
> real advantages does it have for the daily coding?
>
 

Which one, besides the outline?


If outlining were the only feature Leo had it would be exactly what Leo 
promises. Outlining does what I've said earlier, it lets you focus on 
exactly the small bit of code you want to focus on. In any other software 
it is not nearly as easy to visually dismiss code you don't want to see and 
focus on the code you do want to see. Edward has discussed this and he 
makes great use of clones to achieve this but as Terry has pointed out it 
is not the only way to get this (he uses bookmarks very heavily). I 
personally use a combination of quick-search/bookmarks/hoist to get around 
the code quickly and focus on what I want to focus on, but I'd like to mix 
clones in with that at some point. 

This decluttering and reorganizing of the screen is powerful for me, so 
powerful that I've overlooked missing several features I really enjoy in 
other editors. If a person handles visual clutter and monolithic blocks of 
code well then Leo wouldn't have the same appeal and they may find it 
difficult to overlook anything Leo might be lacking.

And that's just the point. My recent conclusion is that I think it would be 
a worthwhile effort to get some popular features from other languages into 
Leo rather than trying to bring Leo outlining to other editors. That said 
your suggestion of perhaps making a database driven Leo backend that could 
be used as a sort of library is really interesting with perhaps far 
reaching implications. I thought that Edward recently mentioned that his 
brother Speed was toying with something like this, I'd love to get a follow 
up on that.

On Tuesday, September 22, 2015 at 10:30:22 AM UTC-4, Marcel Franke wrote:
>
>
> At 22. September 2015 15:49:04 UTC+2 john lunzer wrote:
>
> Given that Leo is written in Python I think that it is natural for Leo to 
>> be aimed at being a premier IDE for Python language programming. 
>>
>  
>
> So, does it compete with more with IDLE or more with Eclipse or even 
> PyCharm? And for whom? Beginners, casual coders? Experts? Gurus?
>
> As I recently stated, adding popular code-manipulation features 
>> (jedi/rope/pylint/pyflakes) would bring Leo "up to date" with what most 
>> people expect out of an IDE.
>>
>
> Hm, not really. 10 Years ago that might be the case, for Python. But since 
> PyCharm the level has raised. And a mature IDE has even way more then that. 
> What you described has today even any advanced editor. Though, maybe our 
> definitions of IDE are different.
>
> I believe that Leo does code outlining more naturally and more powerfully 
>> than any other editort. 
>>
>   
>
> Unless i've overseen something, it only outlines structure, meaning 
> functions/methods and classes, and only at import-time.
>
> Not loops, conditionals, comments and it does not update them after a 
> change in the body, only when it reimports from the file.
>
>
> Compared to folding the outline brings here only a slight advantage.
>
>
> With a combination of active-path 
>>
>   
>
> active-path is for me very unnatural. Is there any option to let it update 
> automatically?
>
>
> and quick-search plugins I've found that Leo provides a fantastic code 
>> search/discovery method
>>
>   
>
> Compared to what?
>
>
> As for code manipulation I am currently writing a refactoring plugin that 
>> uses regex for search and replace which handles Leo's node/outline model 
>> very well. I can save regex search/replace rules in a "database" that can 
>> be quickly accessed. I've written a few rules to enforce individual 
>> PEP8-like refactoring.
>>
>
>   
>
> Does it fix the problem of missing lines after functions, methods and 
> classes when Leo generates a Python-File? Thus, producing pep8-compatible 
> code without manual fixing?
>
>
> "manually" manipulating code in Leo. 
>>
>
>  Why the apostrophes? What exactly do you manipulate? The structure or the 
> code in a node-body?
>
>
> It seems that few have discovered the power granted by node/outline based 
>> programming 
>>
>   
>
> I'm still not sure what power that exactly should be. All I've seen so far 
> in that regard is just not impress enough to use Leo exclusive 
>
> for python-coding, especially taking the lack of power on other fronts. 
> Beyond fast restructuring and researching legacy-code, what 
>
> real advantages does it have for the daily coding?
>
>
> I find Leo's features to be an invaluable tool in my profession that I've 
>> struggled to find elsewhere.
>>
>   
>
> Which one, besides the outline?
>
>

-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to