devel --single-branch --depth 1 g...@github.com:leo-editor/leo-
editor.git
I have got the latest version of devel branch and applied some fix to
leo/core/leoCache.py, and then commit, push...
Cloning with --depth 1 argument makes a shallow clone without history, just
the latest version.
Vit
t we might get rid of all this
different cache names and use the simplest one. It would reduce the size of
cache db and most importantly Leo would load faster.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this
simple, clean, easy to read and reason about, it is not
hard to achieve any missing feature. But when the code is complex it may
happen that a feature otherwise achievable, because the complexity of
present code base, is labeled as an impossible idea.
Vitalije
--
You received this message bec
ay
be wrong but that's how I feel. I hope that one day you may reconsider some
of the design decisions.
Vitalije
PS: here are quotes from your last message that repeatedly demonstrate this
subconscious principle
> In particular, it must coexist with Leo's configuration code.
> W
ing in uA's that isn't json serializable?
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.
O.k. No more complains from me.
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 g
wer any question you may have regarding how I see it. But, I won't
start the discussion myself.
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
he VNode class, we would find that c.hiddenRootNode
has been mentioned only once: in method findAllPotentiallyDirtyNodes where
it is used only to be excluded from the results of this method.
Vitalije: > [The VNode class] also knows indirectly about
> c.fileCommands.gnxDict.
>
> Edward
ts, I think we
shouldn't feel guilty for breaking their scripts at all. That way, project
keeps a chance to advance. Otherwise it is bound to the limits of its first
version or the limits of some ill turn in its evolution path.
Vitalije
--
You received this message because you are subscribe
Dict as a property that links to VNode would be 100%
backward compatible and yet it would allow instantiation of VNode without
commander instance?
AFAIK no user script should be broken with such refactoring.
Vitalije
--
You received this message because you are subscribed to the Google Groups
&
be achieved thanks to the VNode separation from
Commander class.
Vitalije
PS: there are also few minor changes in several other Leo modules. Usually
some assertions that assert v.context == c, had to be changed to `assert
v.context == c.fileName()`
--
You received this message because
s to every created Commander instance. That way it would not matter if
two commander instances are opened with the same file, or if a user
executes saveAs and fileName get changed. Using fileName() was my first
guess, but it would be much better to have stable and unique key for
commander
ll. I am clueless about what else can I do to make you
understand my view. And I can't bend my mind to accept your view.
Vitalije
>
> The proposed new code is likely to increase the hidden connection between
> the VNode and Commands classes. This is a big step backwards.
>
> I c
>
> I shall reject any proposed change to either the Position or the VNode
> class. It's time to move on.
>
Ok. I agree. We should move on.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscri
used anymore. Let's see
if this fixes the issue.
All unit tests pass with the new code.
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 l
/github.com/leo-editor/leo-editor/issues/892>
>>
>
> The problem isn't as hard as either Vitalije or I imagined. We can
> simplify cacher.createOutlineFromCacheList by ensuring that outlines are
> *always* in sync with external files. Like this:
>
> 1. Each @ node
external file and its full path. Adding
another hash (SHA1 would not help) because whenever SHA1 doesn't match, MD5
won't match too, and whenever SHA1 matches MD5 will also.
The bug we see happens whenever Leo finds exact match in cache, but fails
to recreate the exact outline
9:18:43 AM
Git repo info: branch = test, commit = ea51c84c93bf
Python 3.6.1, PyQt version 5.6.2
linux
** isPython3: True
** caching enabled
reading settings in
/media/vitalije/home11/vitalije/programi/leo-editor/trunk-pub/leo/core/LeoPy.leo
wrote recent file: /home/vitalije/.leo
ill be automatically available
next time you start Leo.
Vitalije
On Wednesday, May 9, 2018 at 7:52:51 PM UTC+2, Rob wrote:
>
> I'm writing some VBA scripts in Leo which then need to be pasted into the
> Visual Basic Editor (VBE) in order to execute. I'd like to simply sele
Just add forcePythonSentinels=False in call to g.getScript:
s = g.getScript(c,p,useSentinels=False,forcePythonSentinels=False)
g.app.gui.replaceClipboardWith(s)
Vitalije
On Wednesday, May 9, 2018 at 10:19:58 PM UTC+2, Rob wrote:
>
> Well, that almost works perfectly. It does not pr
r doc
parts using native syntax and use useSentinels=False.
HTH 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...@googl
not implemented
but I don't expect that it will be any slower. That means one possible use
case for new model would be to read file and external files and then to
rebuild outline using standard Vnodes.
Vitalije
PS: I intend to share code once it is ready.
--
You received this message be
100% pure Python.
--
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@googlegr
I am very glad you are finally beginning to appreciate this coding style.
Just keep using it and I am sure very soon you will be amazed how easy it
is. I can't write more at the moment. I'll be back on Monday.
Vitalije
--
You received this message because you are subscribed to
the outline, then position becomes invalid, but the
rest of them are still valid.
Have to go now, I'll be back on Monday to continue the work on new model.
Vitalije
PS: About compatibility with old scripts I have some ideas but later about
that.
--
You received this message because yo
>
>
>1. @keys=Alt-4, which is the correct syntax, I think.
>
> AFAIK it is not. The correct syntax is @key=shortcut.
See documentation of mod_scripting plugin. Select mod_scripting from
Plugins menu.
Vitalije
--
You received this message because you are subscribed to th
way I understand the problem. I may be very wrong in
this. But the fact that solutions with functions and local ivars are most
often faster than class based solutions remains true, even if my
explanation of "why" is wrong.
HTH Vitalije
--
You received this message because you are subscr
using atFileCommands takes about 4500ms.
Currently I am working on documentation trying to explain all that I have
done so far in this project.
After that I plan to make smallest possible gui to show new model in action.
Vitalije
--
You received this message because you are subscribed to the
ork in progress. I plan to make minimal gui to test and
demonstrate new model in action.
All comments are welcome.
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,
I am still exploring what else may be improved in the new model.
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...@googlegr
On Thursday, May 17, 2018 at 9:20:33 PM UTC+2, Matt Wilkie wrote:
>
> I have just published first two articles about what I have done so far in
>> this mini-project. Here are the links:
>>
> [...]
>
>> All comments are welcome.
>>
>
> Vitalije, I
the Leo
legacy code. Legacy code can delegate some tasks to the new model, where
convenient. The new data model can be just one more plugin or core python
file in Leo installation.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
I hope google will accept this attachment.
Vitalije
On Tuesday, May 29, 2018 at 11:48:48 PM UTC+2, Edward K. Ream wrote:
>
>
>
> On Tue, May 29, 2018 at 4:32 PM, Edward K. Ream > wrote:
>
>> On Tue, May 29, 2018 at 4:09 PM, vitalije > > wrote:
>>
>> It
model
in gui. It should not matter that I used Tk for the prototype. Any gui
would not be much different.
I can't dedicate more time to it now but I hope soon (in about 10 days or
so).
Vitalije
On Wednesday, May 30, 2018 at 5:40:10 PM UTC+2, Edward K. Ream wrote:
>
> On Tuesday, May
n more important to have speed tree
browsing than to have fast read/write code which of course is also
important.
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
+1 for False by default.
Headlines in auto nodes don't contribute to the content of external file.
Therefore if the content has not been changed headline won't be
recalculated but instead values from the cache will be used. Changing this
setting has no effect on cached values.
Vit
Are you sure it is still correct import?
Just looking at the code and I see that checks for verbatim and line ==
verbline have different outcomes in my code. In case line == verbatim line
is not added to body. I haven't tested your code, but it seems a bit
suspicious.
Vitalije
> W
gnx=='ekr.20180212072657.2'.
This is at least the case in my Leo installation folder. Perhaps
leoCompare.py is saved from other Leo last time.
Anyway, LeoTreeModel should check if the gnxes are different and insert
node accordingly.
Vitalije
--
You received this message because you are subs
t, gnx from the external file is used.
After this change, in test_data_model.py following check passes:
ltm2 = loadLeoFull(os.path.join(LEOCORE, 'leoPy.leo'))
test_tree_is_correct(ltm2)
print('leoPy.leo loaded properly')
Vitalije
--
You received this message because you are su
.
miniTkLeo should be cleaned of any direct access to these collections and
perhaps some more specific getter methods added to LeoTreeModel.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group and st
I'll write more when I finish my prototype which can't happen in the next
ten days. I have to focus on some other things in the following days.
Vitalije
On Friday, June 1, 2018 at 6:22:35 PM UTC+2, Edward K. Ream wrote:
>
> Here are my thoughts after several days of intense study
elf out of this forum for some
time.
I am going to respond in separate thread.
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
ses at the moment and then he will do almost exactly as I
wish him to do now.
However, as a developer I am less happy. I feel like my code contribution
is not welcomed in this project. I am quite sure that it isn’t true, but
still I get this feeling. I tell to myself: Vitalije, if you wanted to
more understandable. That would also help me when (and if) I start
rewriting it in Rust.
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
rovements in tree drawing, but with no real success. At that time I
have already implemented drawing tree in leo-el-vue and leo-cljs using very
similar algorithms as the one in the prototype. Yet, I haven't found the
way to apply the same algorithm using p and v. There may be a way, I am n
ly agree with you.
If git counts do not bother anyone else, they certainly won't bother me.
But just FYI here
<https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile>
is the explanation from github how they count contributions.
Vitalije
--
You rece
node to your myLeoSettings.leo with the following headline:
@bool add-context-to-headlines = False
This setting has been recently changed in master to be by default False,
but in devel it seems to be True by default.
I don't know about modifier names in macOS.
Vitalije
--
You received t
Do you have an example file with nested clones? I would like to test new
model with it.
Vitalije
On Wednesday, June 13, 2018 at 3:08:38 PM UTC+2, Edward K. Ream wrote:
>
> Handling nested clones properly while scanning the text of the external
> file is more tricky than I imagined
miniTkLeo in prototype seems to open this file and loads external file
without any problem. What was the issue? Perhaps I didn't notice the issue.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this
must produce the same
content as the cached content value.
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...@googlegroup
between having some latency or having excessive processing if the time
between two polls is too short.
It is also possible to use QtCore.QTimer.singleShot(0, some_func) to
execute some_func in main thread.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"
code there with the new code. It evolved quite a lot and it would
not be easy to merge your changes now without breaking new code.
I can publish it somewhere else, but I believe the best placet would be
under leo-editor.
Vitalije
--
You received this message because you are subscribed to the Go
elieve that I can make all these changes in a separate branch and then
Edward can decide whether he will accept proposed changes or not.
Vitalije.
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group and stop rec
Here is short video showing experiment with the new data model and new tree
widget.
https://www.youtube.com/watch?v=TZdNoH0NGHI
--
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, sen
ttps://computingart.net/leo-tree-model-5.html
https://computingart.net/leo-tree-model-6.html
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 l
at the moment. But I am sure if they ever learn about
those features they will certainly love them.
I don't know what will be Edward's decision about the new model. I guess it
won't be an easy one for him to make. Let's hope it would be the best
possible decision whateve
doesn't seem to be hard,
but I have to figure how to efficiently communicate with python. PyO3
<https://github.com/PyO3/pyo3>rust crate promises this is achievable, and I
am studying and experimenting with it.
Vitalije
PS: I have just updated README. Fixed hypothesis installation in
s
python implementation. Having universal native shared library
implementation that can be accessed from other languages will be great
feature.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group
100% sure, but I think that undoer keeps
references to nodes that are cut off of the tree. They are not visible, but
they can be accessed from gnxDict.
HTH
Vitalije
On Sunday, July 8, 2018 at 7:40:28 PM UTC+2, Edward K. Ream wrote:
>
> This looks like a trivial change. It sets root
arents.remove(v)
v.children = []
More thoroughly, it could be recursively applied to whole sub-tree but
perhaps it would suffice to do this only for direct children.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscr
Just a thought: maybe some of the children were clones and get their link
cut twice and second time raised error?
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 i
rt of tree.
That should suffice to prevent false clones. I am not 100% sure that it is
enough, but if the other link parent-children needs to be deleted just add:
v.children = []
at the end of del_one function.
Vitalije
On Sunday, July 8, 2018 at 10:15:45 PM UTC+2, vitalije wrote:
>
> Jus
ut. But if we forget that positions
exist (just for a moment), much simpler solution becomes inevitable. It
seems to me that even if positions are invented to help tree traversals,
they quite often unnecessary complicate things and hide from us simpler
solutions.
Vitalije
--
You received thi
the code for _parentVNode, hasNext, moveToNext, but all
these methods are not trivial either and there is lot of repeating
unnecessary calculations in all of them (at least unnecessary for the job
of deleting node).
In order to simplify work with the tree, positions have made (at least)
this
work is done without
real effect.
I have started again to complain about Leo's code and I promised not to. I
hope these observations will help Leo to improve. I didn't want to blame or
hurt anybody. I was looking at the same code many times and haven't noticed
until now.
Vi
not matter that much. Developers may be
interested to understand how exactly everything works under the hood. But
for the majority of users all that matters is that it works.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To u
ve it. Right now I am trying to port it to rust
language and then to turn it into a binary extension module available for
python and nodejs.
Finally, do as you wish. I know I can't force you to reconsider your
strategies. It is up to you. I have done what I could.
Vitalije
--
You received
e execute-script command will suffer from
less than 100ms delay for synchronizing.
Synchronizing smaller outlines is considerably faster and in most outlines
should not take longer than 10-15ms in one direction.
Vitalije
--
You received this message because you are subscribed to the Google Gro
e Leo users wont be able to enjoy the speed of new data model.
Suppose that Edward doesn't see Leo as editor based on VNode and Position
classes and that he doesn't find new data model so irritating. The list of
conditions might look like:
1. A git branch that implements proposal
2. all uni
forms promote/demote cycle in 1.3ms. That is 1300 times
faster. Anyone interested can make comparisons of other commands and I
guess they will find similar results. That is all pure python
implementation of new data model. If implemented in rust I would expect to
see 13000 times faster.
Vit
>
>
> - The proposal asks me to consider rewriting Leo's essential code.
>
> Why should I want to do that?
Because right now with the present Leo code alone, best that Leo can do is
1300 times slower than present Leo code with the new model.
Vitalije
--
You received this
branch. When I complete this Edward can look at all the
changes and then decide whether to accept them or not.
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 e
odes are accessible as a simple flat sequence. I have already made
some experiments in this area.
With Edward's approval I have created new branch
<https://github.com/leo-editor/leo-editor/tree/ltm-leo> in Leo repository.
Vitalije
--
You received this message because you are su
ach objection is sufficient to reject the proposal. I shall do so unless I
> can be persuaded that I have misunderstood something crucial.
>
> I hope you will reconsider this again.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-e
at the end you surprise me with even better result because
it would be good for Leo and for all of us who use it.
Vitalije
PS: these scripts contain Qt compatible, NewTreeWidget which I wrote for
the experiment. You may or may not find this widget useful in this
redesigning process.
--
Y
Perhaps this challenge of 1.3ms seems to high and discouraging. So, let's
make it more real and let it be 60ms which is much less than 1700ms and it
might be achieved by improving outline drawing.
Take the time you need and refill your batteries but please, don't give up.
Vitalije
--
Y
hority, but that doesn't mean you are right in everything you say.
If you want me to keep quiet, just say it and I won't argue anymore. But if
you want to discuss something please don't do things like these.
Vitalije
--
You received this message because you are subscribed to th
t will remain
unsolved. If other users can live with this bug, I can live too. But those
who are bothered with this bug should raise their voices and try to
convince you.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsu
ally don't see the point in working further on this branch.
Perhaps in time I may change my mind, but right now I think I should stop
wasting my time doing things that have no future.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor"
this
condition I will continue to work on this branch trying to make as little
changes in Leo as possible.
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 a
>
>
> In short, have at it. I'll do everything I can to help.
>
> Edward
>
I am glad to hear (read) it.
I'll start immediately. You should not worry too much. I am sure that you
won't regret your decision once you see the final version.
Vitalije
--
You rece
pen source community.
Let's keep it that way.
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 po
e this bug less likely to happen. This might be enough
but I would prefer (if possible) to find and eliminate the primary cause of
this bug.
Vitalije
On Thursday, July 19, 2018 at 6:36:25 PM UTC+2, Terry Brown wrote:
>
> On Sun, 3 Jun 2018 11:06:23 -0500
> "Edward K. Ream" &g
It seems that leoeditor.com is suspended. A few days ago it was OK. I have
just noticed it.
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
It's up again.
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 emai
ng feature of Linux. This feature is quite
useful and I miss it a lot lately. It would be great if it can be simulated
on Windows too, but the current implementation doesn't seem to work
properly. So changing this flag to False solved the issue.
Vitalije
On Friday, July 27, 2018 at 5:35:02
re publishing
code.
There are also new things I have learned about Leo and I wish to discuss
them but right now I am a bit exhausted and I have to rest for the next few
days.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor" grou
ss in more detail about Leo's
design and I am going to start new thread.
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+u
g.doHook(‘hyperleave1’)
g.doHook(‘hyperleave2’)
g.doHook(‘select2’)
g.doHook(‘select3’)
g.doHook(‘boxclick1’)
g.doHook(‘boxclick2’)
and many other click, rclick variants.
Your thoughts please.
Vitalije
--
You received this message because you are subscribed to the Google Groups
"leo-editor&
ything
awkward or missing.
And what is most important I haven't touched executeScript command yet. So,
backward compatibility of scripts is not guaranteed. I know how to do it
but haven't done it yet. So, some scripts will work but not all of them.
Vitalije
--
You received this m
djustment they can run even faster.
I believe that many user will find worthwhile the effort to change their
scripts to be able to use these speed improvements. I would also suggest a
setting that will allow users to drop the support of the backward
compatibility in exchange for speed.
Vita
s more efficient when using new model.
Currently, declutter doesn't work and editing headlines. To edit headline
one must double click in headline. Using Ctrl+h raises TypeError.
These are next on my todo list.
Vitalije
--
You received this message because you are subscribed to the Google Groups
ranch Leo"?
The latest update: today I started work on making NewTreeWidget aware of qt
style sheet. So far I have made it respect the theme I am using currently
(Breeze dark I think). Have to go now, but there are still some work to
take colors from style sheet.
Vitalije
--
You re
NewTreeWidget inherits QFrame and draws everything on its own.
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...@google
et for real work.
Note, anyone who wants to try this branch, the code needs the latest
version of leoDataModel.py file in leo/core/ folder. This file can be
obtained from its repository <https://github.com/leo-editor/new-leo-model>.
Vitalije
--
You received this message because you are
g.doHook(‘hyperleave2’)
>>
>> g.doHook(‘select2’)
>> g.doHook(‘select3’)
>>
>> g.doHook(‘boxclick1’)
>> g.doHook(‘boxclick2’)
>>
>>
>>
>> and many other click, rclick variants.
>>
>
> I don't remember why these variants e
@Terry, please try 5ee7b406
<https://github.com/leo-editor/leo-editor/commit/5ee7b4060f57a934c622a6db2c6cf71be97f6081>.
When running without theme and without myLeoSettings.leo it couldn't find
icons for the NewTreeWidget. Now some defaults are set.
Vitalije
--
You received t
the size in qt style sheet. However, text in NewTreeWidget was smaller.
So, I changed the code to scale this font 1.5 times to visually match Leo
normal tree.
Icons are scaled to fit into the height of the row which is approximately
equal to font height, so increasing font size increases also icons.
Can
How do you add those icons? When I click in any icon in the Task pane, it
always replaces previous icon with the new one.
I see that icons are smaller than in old tree.
Rev 9d7adae1c now respects setting `@int icon-height` when drawing icons.
Vitalije
--
You received this message because
it looks much
like old Leo. But when theme BreezeDarkTheme.leo is used, on my machine it
gives smaller font in NewTreeWidget then in old treeWidget, even if they
use the same font. This is strange, but I don't suppose it is big issue.
After all it is easy to set larger number in font-size sta
501 - 600 of 772 matches
Mail list logo