merge docchanges from new-docs branch

This commit is contained in:
Jorgen Stenarson
2008-12-17 19:46:35 +01:00
6 changed files with 212 additions and 1 deletions
+7 -1
View File
@@ -2,11 +2,17 @@
"""Script to build documentation using Sphinx.
"""
import fileinput,os,sys
import fileinput, os, sys
def oscmd(c):
os.system(c)
if os.path.isdir("build"):
os.removedirs("build")
os.makedirs("build/html")
os.makedirs("build/latex")
# html manual.
oscmd('sphinx-build -d build/doctrees source build/html')
+6
View File
@@ -0,0 +1,6 @@
Bindable commands
=================
This appendix will contain descriptions of all bindable commands. For now you have to look in the sourcecode. Check the readline class of the file rlmain.py
+47
View File
@@ -0,0 +1,47 @@
Installation
============
Run the installer and follow the configuration instructions below.
Current release version
-----------------------
Get the installer for the current installer at
https://launchpad.net/pyreadline/+download.
Follow the instructions for configuration below.
Development version
-------------------
The devopment is hosted at https://launchpad.net/pyreadline
The current trunk version can be pulled with bzr, :command:`bzr branch
lp:pyreadline`.
Install with the usual :command:`python setup.py install` from the pyreadline
folder.
Follow the instructions for configuration below.
Configuration files
-------------------
There are a few things that are not automatically installed.
* Copy pyreadlineconfig.ini from pyreadline/configuration to your HOME
directory (usually c:/documents and settings/YOURNAME).
* add the code in pyreadline/configuration/startup.py to the startup file
pointed to by environment variable PYTHONSTARTUP. This file is imported by
python when started in interactive mode. However when using ipython
pyreadline is imported by default by ipython.
+27
View File
@@ -0,0 +1,27 @@
Pyreadline
==========
A python implementation of GNU readline
---------------------------------------
Pyreadline is a package inspired by GNU readline which aims to improve the
command line editing experience. In most UNIX based pythons GNU readline is
available and used by python but on windows this is not the case. A readline
like python library can also be useful when implementing commandline like
interfaces in GUIs. The use of pyreadline for anything but the windows
console is still under development.
Dependencies
------------
* ctypes
Conflicts
---------
Unfortunately the module rlcompleter, the module that provides tab completion, imports readline which means there must be an alias from readline to pyreadline for things to work properly. This means pyreadline install a file under the name readline.py in site-packages containing:
.. literalinclude:: ../../readline.py
+10
View File
@@ -0,0 +1,10 @@
Known issues
============
* If you do not want pyreadline at the standard windows prompt. Delete readline.py
from the install directory. This will not interfere with ipython usage, but you will
not be able to use the rlcompleter module which requires the readline.py module.
+115
View File
@@ -0,0 +1,115 @@
Usage
=====
The purpose of readline is to improve the interactive experience with the
python interpreter by improving the line editing facilities. The most important
being tab completion and copy and paste.
Configuration file
------------------
The configuration file is read from the users home directory and is named
pyreadlineconfig.ini. The files syntax is not the same as for GNU readline but
a python syntax is used instead. The available commands are:
bind_exit_key
is used to bind the keys that are used to exit the interpreter. (Ctrl-d,
ctrl-z)
bind_key
is used to bind keys to editor functions
un_bind_key
is used to unbind keys can be useful to unbind default bindings the user
does not like
bell_style
is used to set bell style. (none|visible|audible)
show_all_if_ambiguous
is used to enable the showing of a list of all alternative for tab
completion (on|off)
mark_directories
show directories (on|off)
completer_delims
Which delimeters should be used to separate words for tab completion
debug_output
Turn on debug output (on|off). Not implemented yet.
Here is the example config file shipped with pyreadline:
.. literalinclude:: ../../pyreadline/configuration/pyreadlineconfig.ini
pyreadline with python interpreter
----------------------------------
In your startup file (pointed to by environment variable PYTHONSTARTUP) add:
.. literalinclude:: ../../pyreadline/configuration/startup.py
This file is included in the doc directory of the distribution.
pyreadline with IronPython
--------------------------
*THIS HAS NOT BEEN TESTED FOR A WHILE*
Pyreadline can be used together with IronPython. Unfortunately the binary
installs of IronPython can not run pyreadline directly. You need to patch the
source code to make PythonCommandLine a public class that we can override.
* In PythonCommandLine.cs you need to change class PythonCommandLine to public class PythonCommandLine and recompile.
* Copy rlcompleter.py from a standard python install to your ironpython path (this file is not included with fepy).
pyreadline with IPython
-----------------------
In IPython pyreadline is automatically used if available.
Clipboard
---------
Pyreadline can do copy/paste using the clipboard. Selections can be done using
shift and arrowkeys as in most windows programs.
There are three different paste functions that can be bound.
paste
Paste windows clipboard. Assume single line strip other lines and end of
line markers and trailing spaces
paste_mulitline_code
Paste windows clipboard as multiline code. Removes any empty lines in the
code
ipython_paste
Paste windows clipboard. If enable_ipython_paste_list_of_lists is True
then try to convert tabseparated data to repr of list of lists or repr of
array. If enable_ipython_paste_for_paths==True then change \\\\ to / and
spaces to \\space.
International characters
------------------------
The pyreadline package now supports international characters. However using
international characters in the interactive prompt can be annoying on windows
since the default codepage for the terminal is an ascii codepage (850 on
swedish systems) but the filesystem often uses some other codepage (1252 on
swedish systems). This means the filenames containing internationl characters
entered on interactive prompt will not work. The workaround here is to change
the codepage of your terminal to a more suitable one using the :command:`chcp`
command. For swedish systems :command:`chcp 1252` does the trick but you also
have to change the terminal font to `lucida console` using the properties
dialog for the console.