-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
README
111 lines (86 loc) · 3.81 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
This is pyrepl, a readline-a-like in Python.
It requires python 2.7 (or newer) and features:
* sane multi-line editing
* history, with incremental search
* completion, including displaying of available options
* a fairly large subset of the readline emacs-mode keybindings
(adding more is mostly just a matter of typing)
* a liberal, Python-style, license
* a new python top-level
* no global variables, so you can run two or more independent readers
without having their histories interfering.
* no hogging of control -- it should be easy to integrate pyrepl into
YOUR application's event loop.
* generally speaking, a much more interactive experience than readline
(it's a bit like a cross between readline and emacs's mini-buffer)
* unicode support (given terminal support)
There are probably still a few little bugs & misfeatures, but _I_ like
it, and use it as my python top-level most of the time.
To get a feel for it, just execute:
$ python pythoni
(One point that may confuse: because the arrow keys are used to move
up and down in the command currently being edited, you need to use ^P
and ^N to move through the history)
If you like what you see, you can install it with the familiar
$ python setup.py install
which will also install the above "pythoni" script.
Summary of 0.8.4:
+ python3 support
+ support for more readline hooks
+ backport various fixes from pypy
+ gracefully break on sys.stdout.close()
Summary of 0.8.3:
+ First release from new home on bitbucket.
+ Various fixes to pyrepl.readline.
+ Allow pyrepl to run if unicodedata is unimportable.
Summary of 0.8.2:
+ This is the same version which is distributed with PyPy 1.4, which uses it
as its default interactive interpreter:
- have the possibility of having a "CPython-like" prompt, with ">>>" as
PS1 and "..." as PS2
- add the pyrepl.readline module, which exposes a subset of CPython's
readline implemented on top of pyrepl
+ Add support for colored completions: see e.g. fancycomplete:
http://bitbucket.org/antocuni/fancycompleter
Summary of 0.8.1:
+ Fixes
- in the area of unbound keys and unknown commands
- in quoted-insert
- in unicode support
+ make Reader and subclasses new-style classes
- make the inheritance hierachy look like this
Reader
/ \
HistoricalReader CompletingReader
\ /
PythonicReader
Turns out I've been wanting new-style classes since before they existed!
- needed to slightly change the way keymaps are built
Summary of 0.8.0:
+ A whole bundle of things.
- unicode support (although working out what encoding the terminal
is using can be "tricky")
- internal rearchitecting
- probably a bunch of new bugs...
+ Development and web-presence moved to codespeak.net
Summary of new stuff in 0.7.1:
+ A non-broken setup.py...
Summary of new stuff in 0.7.0:
+ Moved to a package architecture.
+ Wrote a (very simple!) distutils setup.py script.
+ Changed the keyspec format to be more sensible. See the docstring
in pyrepl/keymap.py for more information.
+ Portability fixes.
+ Various tortuous changes to use 2.2 features where possible but
retaining 2.1 support (I hope; haven't got a 2.1 here to test with).
+ Jumping up and down on control-C now shouldn't dump you out of
pyrepl (via a large hammer kind of approach).
+ Bug fixes, particularly in the history handling stuff.
+ reader.Reader has a new method, bind(), intended to be used by the
user.
+ Changes to the init file handling.
+ Sundry code reorganization. Libraries built on top of pyrepl will
probably require small modifications (but I'm not sure anyone has
written any of these yet!).
+ A prototypical pygame console.
-- see CHANGES for more details and older news