This plugin used ancient coding technology, created menu items instead of
minibuffer commands, did not report progress and was probably not thread
safe.
All these defects have now been remedied. It could be quite useful in some
situations.
For example, suppose node P has this body text::
@produce echo pylint commands
@produce pylint -v
@produce pylint -f core\leoAtFile.py
@produce pylint -g
Selected node P and running the at-produce-selected command produces these
messages in the log pane::
@produce pylint -g
@produce pylint -g
@produce pylint -g
@produce pylint -g
at-produce done
And produces a node whose headline is::
produce.log from Sun Sep 21 06:35:37 2014
And whose body text is::
produce: echo pylint commands
pylint commands
===============
produce: pylint -v
c:\leo.repo\leo-editor>python27 pylint-leo.py -v
c:\leo.repo\leo-editor>c:\python27\python.exe pylint-leo.py -v
pylint-leo.py 1.1.0,
astroid 1.0.1, common 0.61.0
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit
(Intel)]
===============
produce: pylint -f core\leoAtFile.py
c:\leo.repo\leo-editor>python27 pylint-leo.py -f core\leoAtFile.py
c:\leo.repo\leo-editor>c:\python27\python.exe pylint-leo.py -f
core\leoAtFile.py
pylint-leo.py: core\leoAtFile.py
time: 5.000 sec.
===============
produce: pylint -g
c:\leo.repo\leo-editor>python27 pylint-leo.py -g
c:\leo.repo\leo-editor>c:\python27\python.exe pylint-leo.py -g
pylint-leo.py: plugins\free_layout.py
pylint-leo.py: plugins\nested_splitter.py
pylint-leo.py: plugins\qt_commands.py
pylint-leo.py: plugins\qt_events.py
pylint-leo.py: plugins\qt_frame.py
pylint-leo.py: plugins\qt_idle_time.py
pylint-leo.py: plugins\qt_gui.py
pylint-leo.py: plugins\qt_text.py
pylint-leo.py: plugins\qt_tree.py
time: 40.073 sec.
===============
(End of body text)
Here is the checkin log for 573c5ab, Leo build: 20140921062746:
QQQ
Virtually a complete rewrite of the at_produce plugin:
- Creates at-produce-all and at-produce-selected commands.
- Adds the log node and redraws in the main thread after the separate
thread completes. The old code was not thread safe!
- Reports progress periodically using g.es_print. This is safe because the
timer executes in the main thread.
- Rewrote the code using positions, modern iterators, etc.
- Writes the log node as the last top-level node.
QQQ
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.