On Tue, Mar 5, 2019 at 12:43 PM john lunzer wrote:
> This will be wonderful quality of life improvements. If you can,
without terrible effort or stress, "borrow" the best of Pyzo then I think
Leo will benefit mightily.
I'll be studying pyzo's ideas, design and actual code. There is, no doubt
a lot to learn.
Supposedly, "good artists imitate, great artists steal." I'll be looking
into using pyzo's source code *unchanged*. Leo already has a framework for
do this: the leo/external directory may contain "fallback" code, to be
used if primary code can not be found. So we might put all of pyzo,
including dll's, in that directory.
In parallel, I'll be instrumenting pyzo with study traces, etc., to
determine exactly what it does, and how. I am particularly interested in
the to-do list given earlier, but I'll investigate other topics, such as
the notification system, the look and feel of windows, and the mechanics of
having a class have a gazillion base classes:
class CodeEditor(
HighlightCurrentLine,
HighlightMatchingOccurrences,
HighlightMatchingBracket,
FullUnderlines,
IndentationGuides,
CodeFolding,
LongLineIndicator,
ShowWhitespace,
ShowLineEndings,
Wrap,
BreakPoints,
LineNumbers,
AutoCompletion, #Escape: first remove autocompletion,
Calltip, #then calltip
Indentation,
MoveLinesUpDown,
ScrollWithUpDownKeys,
HomeKey,
EndKey,
NumpadPeriodKey,
AutoIndent,
PythonAutoIndent,
AutoCloseQuotesAndBrackets,
SyntaxHighlighting,
SmartCopyAndPaste, # overrides cut(), copy(), paste()
CodeEditorBase, #CodeEditorBase must be the last one in the list
):
...
This is a pattern I would never have considered. I want to know why it is
robust...
> it may be worth studying xo's syntax highlighting code
<https://github.com/scopatz/xo>.
Thanks for this. I have bookmarked it.
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 [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.