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.
