pax_global_header 0000666 0000000 0000000 00000000064 13443514354 0014520 g ustar 00root root 0000000 0000000 52 comment=0d24efd47c4f6fe829dbda870d2b53226e7afefd
redbaron-0.9.2/ 0000775 0000000 0000000 00000000000 13443514354 0013324 5 ustar 00root root 0000000 0000000 redbaron-0.9.2/.gitignore 0000664 0000000 0000000 00000001652 13443514354 0015320 0 ustar 00root root 0000000 0000000 # Created by http://www.gitignore.io
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml
# Translations
*.mo
*.pot
# Django stuff:
*.log
# Sphinx documentation
docs/_build/
### vim ###
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
### Emacs ###
# -*- mode: gitignore; -*-
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# PyCharm files
.idea/*.*
.idea/ redbaron-0.9.2/.travis.yml 0000664 0000000 0000000 00000000625 13443514354 0015440 0 ustar 00root root 0000000 0000000 language: python
install:
- pip install git+https://github.com/Psycojoker/baron.git
- pip install pytest
- find . -name '*.pyc' -delete
- python setup.py install
python:
- "2.6"
- "2.7"
- "3.4"
- "3.5"
- "3.6"
- "3.7-dev"
script:
- py.test tests
- bash ./test_doc.sh
- pip install pygments
- py.test tests
- bash ./test_doc.sh
notifications:
irc: "chat.freenode.net#baron"
redbaron-0.9.2/CHANGELOG 0000664 0000000 0000000 00000017252 13443514354 0014545 0 ustar 00root root 0000000 0000000 Changelog
=========
0.9.2 (2019-03-17)
------------------
- fix a situation in .help() where some code where colorized twice by Hanaasagi https://github.com/PyCQA/redbaron/pull/182
0.9.1 (2019-02-01)
------------------
- fix .names() and variations that didn't handle the case where there was "()" on FromImport nodes
0.9 (2019-02-01)
----------------
- full python 3.7 syntax support
- BREAKING CHANGE: annotations are now member of {Def,List,Dict}Argument to flatten the data structure, TypedNameNode doesn't exist anymore
- add support for return annotation by bram
- add support for variable annotation https://github.com/PyCQA/redbaron/pull/177 by scottbelden and additional work by bram
- add support for raise from by bram
0.8 (2018-10-29)
----------------
- add support to typed function arguments https://github.com/PyCQA/redbaron/pull/168 Scott Belden and additional work by bram
- add support to set async attributes to with/for nodes, was missing in previous release
0.7 (2018-08-21)
----------------
- fix to_python() when strings are indented by stripping whitespace before evaluating by duncf https://github.com/PyCQA/redbaron/pull/140
Python 3 support (based on work in Baron):
- support ellipsis
- support matrix operator
- support f-strings
- support numeric literals
- support nonlocal statement
- support keyword only markers
- support yield from statement
- support async/await statements
0.6.3 (2017-01-02)
-----------------
- fix help() after append
- fix _synchronise() for base_nodes to avoid recursion in __repr__ function if code run not in the shell
- add at method
0.6.2 (2016-10-03)
----------------
- fix some old call to log() weren't lazy, that could cause a crash in some situations by an infinite recursive call and also reduce performances
- fix in _iter_in_rendering_order method to avoid bug in edge cases (issue #107)
0.6.1 (2016-03-28)
----------------
- fix setup.py, package weren't pushed on pypi since splitting of redbaron.py
into multiple files.
0.6 (2016-03-28)
----------------
This release is guaranteed to have a retro-compatible public documented API
from now on until maybe 2.0.
There might be the only exception that if you directly call specific nodes
constructors with FST that this API change, but this is not documented and
simply horribly unpracticable, so I'm expecting no one to do that.
From now on the focus will be on moving to a stable 1.0 meaning: bugs fixes and
API additions for missing needed features and no more big modifications, this
will be for other releases, the workload is already big enough.
- BIG improvement on the proxy list merging algorithm, it is not perfect yet (comments aren't handled yet) but it's really a big move forward
- possible retrocompatibility breaking change: from now on the node.find("name") to node.name shortcut ONLY works with possible nodes identifiers. For example node.i_dont_exist_as_an_identifier will raise AttributeError
- new helper method .to_python that wrap ast.literal_eval on compatible nodes https://redbaron.readthedocs.io/en/latest/other.html#to-python
- breaking: IntNode no longer return an int on .value but a .string instead, use .to_python to have an evaluated version
- fix node.decrease_indentation (that was simply not working)
- fix code_block_node.value was broken on node with no parent
- add string representation for Path object
- now redbaron Path() class can be compared directly to baron paths
without using to_baron_path() helper.
- fix by novocaine: 'function' was used as a function type detector instead of 'def'
- add getitem() method with same api on NodeList and ProxyList
- fix: inconsistencies when inserting lines around code blocks
- inserting a blank lines inserts effectively a \n in a LineProxyList
- new helper methods: .next_recursive and .previous_recursive https://redbaron.readthedocs.io/en/latest/other.html
- fix: doc is tested in CI now, it shouldn't break anymore
- more rendering test for python3, it shouldn't break anymore
- pygments is now an optional dependency, "pip install redbaron" won't install it, "pip install redbaron[pygments"] will
- new node.next_intuitive and node.previous_intuitive methods for situations where .next/previous doesn't behave the way the user expect it https://redbaron.readthedocs.io/en/latest/other.html#next-intuitive-previous-intuitive
0.5.1 (2015-03-11)
------------------
- fix whitespace duplication when using .insert()
- DecoratorProxyList of the last method of a function wasn't handling correctly the indentation of its last endl token
0.5 (2015-01-31)
----------------
- fix index handling in get_absolute_bounding_box_of_attribute method in
a LineProxyList
- pretty rendering of RedBaron repr in ipython notebook using _repr_html_, see:
https://cloud.githubusercontent.com/assets/41827/5731132/65ff4c92-9b80-11e4-977c-0faebbf63415.png
- fix: RedBaron repr was crashing in bpython and in ipython notebook. The new
behavior should be way more stable and never crash.
- new helpers .names, .modules, .full_path_modules for from_import node https://redbaron.readthedocs.io/en/latest/other.html#index-on-parent-raw
- add a node.index_on_parent_raw and make node.index_on_parent works has it
should be intuitively according to the proxy list api https://redbaron.readthedocs.io/en/latest/other.html#index-on-parent-raw
- new helper methods: .insert_before and .insert_after https://redbaron.readthedocs.io/en/latest/other.html#insert-before-insert-after
- fix: some white space bugs in the merging algorithm of line proxy
- fix: on_attribute and parent were correctly set on newly added elements to
the root node
0.4 (2014-12-11)
----------------
- compatibility with baron upstream (removal of def_argument_node and
uniformisation of def_arguments structure)
- fix: long wasn't supported in redbaron (due to a bug in baron)
0.3 (2014-11-12)
----------------
- proxy lists, major improvement in the management of list of things
- .append_value is no more since it is useless now due to proxy lists
- .index has been renamed to .index_on_parent to be more coherent
0.2 (2014-09-23)
----------------
- for EVERY NODES in RedBaron, the automagic behavior when passing a string to
modify an attribute has been done, this is HUGE improvement
https://redbaron.readthedocs.io/en/latest/modifying.html#full-documentations
- it's now possible to use regex, globs, list/tuple and lambda (callable) in .find and
.find_all, see https://redbaron.readthedocs.io/en/latest/querying.html#advanced-querying
- new method on node: .replace() to replace in place a node
https://redbaron.readthedocs.io/en/latest/other.html#replace
- .map .filter and .apply are now documented https://redbaron.readthedocs.io/en/latest/other.html#map-filter-apply
- .edit() new helper method to launch a text editor on the selected node and
replace the node with the modified code https://redbaron.readthedocs.io/en/latest/other.html#edit
- .root node attribute (property) that return the root node of the tree in which the
node is stored https://redbaron.readthedocs.io/en/latest/other.html#root
- .index node attribute (property) that returns the index at which the node is
store if it's store in a nodelist, None otherwise https://redbaron.readthedocs.io/en/latest/other.html#index
- setitem (a[x] = b) on nodelist now works as expected (accepting string, fst
node and redbaron node)
- new method to handle indentation: .increase_indentation and .decrease_indentation https://redbaron.readthedocs.io/en/latest/other.html#increase-indentation-and-decrease-indentation
- various small bugfix
- we have one new contributor \o/ https://github.com/ze42
- to_node has been move to a class method of Node: Node.from_fst
- pretty print of nodes when using redbaron in a script
0.1 (2014-06-13)
----------------
- First release
redbaron-0.9.2/MANIFEST.in 0000664 0000000 0000000 00000000166 13443514354 0015065 0 ustar 00root root 0000000 0000000 include README.md CHANGELOG TODO.md
include requirements.txt requirements-docs.txt test_doc.sh
graft tests
graft docs
redbaron-0.9.2/README.md 0000664 0000000 0000000 00000015076 13443514354 0014614 0 ustar 00root root 0000000 0000000 Introduction
============
[](https://travis-ci.org/PyCQA/redbaron) [](https://pypi.python.org/pypi/redbaron/) [](https://pypi.python.org/pypi/redbaron/) [](https://pypi.python.org/pypi/redbaron/) [](https://pypi.python.org/pypi/redbaron/) [](https://pypi.python.org/pypi/redbaron/) [](https://pypi.python.org/pypi/redbaron/)
[](#backers)
[](#sponsors)
RedBaron is a python library and tool powerful enough to be used into IPython
solely that intent to make the process of **writing code that modify source
code** as easy and as simple as possible. That include writing custom
refactoring, generic refactoring, tools, IDE or directly modifying you source
code into IPython with a higher and more powerful abstraction than the
advanced texts modification tools that you find in advanced text editors and
IDE.
RedBaron guaranteed you that **it will only modify your code where you ask him
to**. To achieve this, it is based on [Baron](https://github.com/PyCQA/baron)
a lossless [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) for
Python that guarantees the operation ast_to_code(code_to_ast(source_code)) == source_code
.
(Baron's AST is called an FST, a Full Syntax Tree).
RedBaron API and feel is heavily inspired by BeautifulSoup. It tries to be
simple and intuitive and that once you've get the basics principles, you are
good without reading the doc for 80% of your operations.
**For now, RedBaron can be considered in alpha, the core is quite stable but it
is not battle tested yet and is still a bit rough.** Feedback and contribution
are very welcome.
The public documented API on the other side is guaranteed to be
retro-compatible and won't break until 2.0 (if breaking is needed at that
point).
There might be the only exception that if you directly call specific nodes
constructors with FST that this API change, but this is not documented and
simply horribly unpracticable, so I'm expecting no one to do that.
Support
=======
RedBaron is support python python 2 and up to python 3.7 grammar.
Roadmap
=======
Current roadmap is as boring as needed:
* bug fixes
* new small features (walker pattern, maybe code generation) and performance improvement.
Installation
============
pip install redbaron[pygments]
Or if you don't want to have syntax highlight in your shell or don't need it:
pip install redbaron
Running tests
=============
pip install pytest
py.test tests
Community
=========
You can reach us on [irc.freenode.net#baron](https://webchat.freenode.net/?channels=%23baron) or [irc.freenode.net##python-code-quality](https://webchat.freenode.net/?channels=%23%23python-code-quality).
Financial support
=================
Baron and RedBaron are a very advanced piece of engineering that requires a lot
of time of concentration to work on. Until the end of 2018, the development
has been a full volunteer work mostly done by [Bram](https://github.com/psycojoker),
but now, to reach the next level and bring those projects to the stability and
quality you expect, we need your support.
You can join our contributors and sponsors on our transparent
[OpenCollective](https://opencollective.com/redbaron), every contribution will
count and will be mainly used to work on the projects stability and quality but
also on continuing, on the side, the R&D side of those projects.
## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/redbaron#backer)]
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/redbaron#sponsor)]
## Contributors
This project exists thanks to all the people who contribute.
Code of Conduct
===============
As a member of [PyCQA](https://github.com/PyCQA), RedBaron follows its [Code of Conduct](http://meta.pycqa.org/en/latest/code-of-conduct.html).
Links
=====
**RedBaron is fully documented, be sure to check the tutorial and documentation**.
* [Tutorial](https://redbaron.readthedocs.io/en/latest/tuto.html)
* [Documentation](https://redbaron.readthedocs.io/en/latest/)
* [Baron](https://github.com/PyCQA/baron)
* IRC chat: [irc.freenode.net#baron](https://webchat.freenode.net/?channels=%23baron)
redbaron-0.9.2/TODO.md 0000664 0000000 0000000 00000005470 13443514354 0014421 0 ustar 00root root 0000000 0000000 # Todo
### Important
- .help() seems really slow on big piece of code (for example RedBaron("baron/grammator.py").read())("dict")[0].help() is suuuuuuuuuuuuuuuuper slow)
- .rename() (name -> value, def/class -> name)
- .replace() expect a whole valid python program. This could be fixed by look at "on_attribute" and resetting itself like that.
- generate default constructors for nodes using nodes_rendering_order
- if possible try to keep a coherent signature with possibles attributes, set correctly default attributes
- examples:
* SpaceNode(" ")
* CommaNode()
* CommaNode(first_formatting=[" "]) # allow to pass strings again
- auto merging behavior for Atomtrailer: "a.b.c".value[0].replace("x.y.z") should not include one Atomtrailer in the current one but flatten both. Same for getitem.
do a check on every setitem, some doesn't works as expected and I'm expected
that none works as expected, for eg, this one fails:
RedBaron("a(b, c=d, *e, **f)")[0].value[1].value[0] = "**dsq"
in addition of passing empty string, allow to pass None value on setattr
this needs to be done in "_convert_input_to_node_object" and it's possible
now since we have string type in nodes_rendering_order
- implement tree visitor and transformer like in standard ast: https://docs.python.org/3/library/ast.html#ast.NodeTransformer
- improve/create new insert method with inserting to specific position like find_by_position
- implement control-flow graph, data-flow-graph and call-graph
- add scope (RedBaron, ClassNode, DefNode, LambdaNode and GeneratorComprehensionNode) property
- check code for correctness before dumping
### Find/Find\_All (comparison)
Magic stuff like:
value\_\_dumps that compare the .dumps() with a string? or use lambda for that instead?
### More general stuff
* .assign, .map\_concat
* .swap, .move on a NodeList
* .cut (like .copy but with del self)
* .remove on nodelist
* method to change style of formatting in a datastructure
* .grep method that test on successive .dumps()
* auto add quotes for strings
### More refactoring like
- find\_name\_binding -> search assign, def (args && name), class, except, with, for ...
- find\_identifier -> search name + everything up there ^
### Wrappers
It should be easy to wrap statement, expressions or various structure in other
statements, like a statement with a block or an associative parenthesis or
those kind of things.
### Magic conversion on setattr
Comment: I'm not that much sure that I'll do those one, .replace already quite handle this job.
conversion from list/set/dict to comprehension version
conversion between binary_operator/boolean_operator/comparison
conversion from if/elif/else to if/elif/else (careful about the ifelseblock)
conversion from call_argument/def_argument to list_argument or dict_argument and vice versa
conversion from string chain to string
redbaron-0.9.2/docs/ 0000775 0000000 0000000 00000000000 13443514354 0014254 5 ustar 00root root 0000000 0000000 redbaron-0.9.2/docs/Makefile 0000664 0000000 0000000 00000015162 13443514354 0015721 0 ustar 00root root 0000000 0000000 # Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
help:
@echo "Please use \`make ' where is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/RedBaron.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/RedBaron.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/RedBaron"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/RedBaron"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
redbaron-0.9.2/docs/ast.png 0000664 0000000 0000000 00000017744 13443514354 0015566 0 ustar 00root root 0000000 0000000 PNG
IHDR r$ gAMA a IDATx^1.9uIŖ,ґz^:h/ڞԛ:W!-E)M""PhDb$Gff^xf_s=>g0:#`V!U/_G+ix_ٟo.#02ΑGǺ#0(Aj#02/{+T';1w%x5Èia/K0u#檙:o>^l7pj0qGy[%~Kp 7L0uz> ^7Cuxpnq:cMMH7_CѶ@3u
Jꂀxz+<٬_M=>h7GqmIyF Uͼ^Rn t;OpՑ̹G: v>lcuq{#Bauf y.abs&2-q1zBɹlQj^tֶ+Ntv㎵r^+[{`{]SxPJNVE`/ތp'4;i ˉ]N7h=rbEᶞӄr)'M(m$9Oy(@IdTEm
VG.f7 Qù(^Hx.#f).qJT4]L}XPry:%tN~EI
Hޜ/.8zO~ZMʛ@@Y)^M9^:e j{Ya8fDtd\H9YIduz ~757Aǫo$t(\wW^R+HVa1(lʬ%_jHJM]rQ]gOpf=sXlSkEk喉nPŌ7\E0VA\Vg
e"埱YޑevM:B-b: G˂+x[):ϝX謾@vMm z>1?qSlʕZgo뼬4+Yd*[mhkڵ*;G;}'j.VN,M.DvqHMԚp"ܢN019@WO: ޤ6v+#/o^W&Ԗ#][S\a:ϝjR>F_I =@@
wZde!*KLkD]Y,oܷߠ&ͷ`:P)LX
ۜ5\GB&HC/23^|x=4א$#86:@;{|덠ۛ &%|5Y4^no,2Q 3 FߖC#9Z3O^A>K0u[<[sG6L|wVLȹbj0k~
>Ss=EM'D/bKd:yqC'8QyexXg2,ZTG7F海^]h/*Ӄ7ЫޖWe|=MшLQJ&$'Ⱥg`Z8N7N\@0:WF?xS˄o c/?ha7ĕXreEVRgjuc0uZqD3Q^R'ęߕH#4ޱS:u[5P6(C*
w%@+!GtSfQ)E=UN4L.Mԙtnf<*9ڮ-ꊤwy#fvGuQ^ z5S'SntOj=ޥ]1F`pδmԩOwan|0m,Sgj3* v-B"Xp"ŔӍ6MLN='ZX|*EyFCp`"M2L5EmZ@&KvꮕG`:BX[2-kA|ЫZi4:!&F#SskNMK=~!P4^;RXgq[C3}W2_r={z/>~mj0
TrMkBÞ%0ďi40rNْivD?%ڜx"0<Hj*}"ԩpb7ٛ
oNr#i佱:$G44[zB
qLU٠Ё"NY5v4nc