Coder Social home page Coder Social logo

agochka / pyrepl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mseaborn/pyrepl

0.0 2.0 0.0 60 KB

Branch of Pyrepl for use in Coconut Shell. Adds support for using Pyrepl directly with libvte, in-process.

Home Page: http://codespeak.net/pyrepl/

License: Other

pyrepl's Introduction

This is pyrepl 0.8.1, a readline-a-like in Python.

http://pyrepl.codespeak.net/

It requires python 2.2 (or newer) with the curses and termios modules
built 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.

Please direct comments to [email protected].

(If you've released open source software you'll know how frustrating
it is to see a couple of hundred downloads and only get a handful of
emails, so don't think I'll be irritated by the banality of your
comments!)

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

pyrepl's People

Contributors

mseaborn avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.