big readme update

This commit is contained in:
David Halter
2012-09-18 18:49:04 +02:00
parent 8f8ec79804
commit e49bcc26c6

View File

@@ -1,29 +1,28 @@
###################################### ########################################
Jedi - a clever Python auto-completion Jedi - an awesome Python auto-completion
###################################### ########################################
.. image:: https://secure.travis-ci.org/davidhalter/jedi.png?branch=master .. image:: https://secure.travis-ci.org/davidhalter/jedi.png?branch=master
:target: http://travis-ci.org/davidhalter/jedi :target: http://travis-ci.org/davidhalter/jedi
:alt: Travis-CI build status :alt: Travis-CI build status
**now in beta testing phase** **beta testing**
*If you have any comments or feature request, please tell me! I really want to *If you have any comments or feature request, please tell me! I really want to
know, what you think about Jedi.* know, what you think about Jedi.*
Jedi is an autocompletion tool for Python. It should work as good as possible Jedi is an autocompletion tool for Python. It works. With and without syntax
and just ignore syntax errors. Most Python auto-completions really suck, errors. Sometimes it sucks, but that's normal in dynamic languages. But it
because they don't understand things like decorators, generators and list sucks less. It understand basic things like decorators, generators and list
comprehensions. Jedi just sucks less, because it at least understand those comprehensions.
features.
Jedi suports goto and will support some refactorings in the future. Jedi suports two different goto functions and has support for renaming.
Auto-completion is the core. Probably it will also have some support for refactoring some in the future.
Jedi uses a very simple interface to connect with IDE's. As an example, there Jedi uses a very simple interface to connect with IDE's. As an reference, there
is a VIM implementation, which uses Jedi's autocompletion. However, I encourage is a VIM implementation, which uses Jedi's autocompletion. However, I encourage
you to use Jedi in your IDEs, as soon as a stable version arrives. If there are you to use Jedi in your IDEs. Start writing plugins! If there are problems with
problems with licensing, just contact me. licensing, just contact me.
At the moment Jedi can be used as a At the moment Jedi can be used as a
`VIM-Plugin <http://github.com/davidhalter/jedi>`_. So, if you want to test `VIM-Plugin <http://github.com/davidhalter/jedi>`_. So, if you want to test
@@ -103,7 +102,8 @@ A little history
================ ================
The Star Wars Jedi are awesome. My Jedi software tries to imitate a little bit The Star Wars Jedi are awesome. My Jedi software tries to imitate a little bit
of the precognition the Jedi have. of the precognition the Jedi have. There is even an awesome `scene
<http://www.youtube.com/watch?v=5BDO3pyavOY>`_ of Monty Python Jedi's :-).
But actually the name hasn't so much to do with Star Wars. It's part of my But actually the name hasn't so much to do with Star Wars. It's part of my
second name. second name.
@@ -121,11 +121,12 @@ PyCharm. I just like my good old VIM. Rope was never really intended to be an
auto-completion (and also I really hate project folders for my Python scripts). auto-completion (and also I really hate project folders for my Python scripts).
It's more of a refactoring suite. So I decided to do my own version of a It's more of a refactoring suite. So I decided to do my own version of a
completion, which would execute non-dangerous code. But I soon realized, that completion, which would execute non-dangerous code. But I soon realized, that
this wouldn't work. So I built an extremely recursive thing, that understands this wouldn't work. So I built an extremely recursive thing which understands
many of Python's key features. many of Python's key features.
By the way, I really tried to program it as understandable as possible. But I By the way, I really tried to program it as understandable as possible. But I
think understanding it might need some time, because of its recursive nature. think understanding it might need quite some time, because of its recursive
nature.
API-Design for IDEs API-Design for IDEs
@@ -136,10 +137,16 @@ have the following objects available:
:: ::
Script Script(source, line, column, source_path)
Returns a script object, that contains the relevant information for the ``source`` would be the source of your python file/script, separated by new
other functions to work without params. lines. ``line`` is the current line you want to perform actions on (starting
with line #1 as the first line). ``column`` represents the current
column/indent of the cursor (starting with zero). ``source_path`` should be the
path of your file in the file system.
It returns a script object that contains the relevant information for the other
functions to work without params.
:: ::