From 87191db5da81673fef4d249de2c5732150182c08 Mon Sep 17 00:00:00 2001 From: David Kaufmann Date: Tue, 17 Nov 2015 05:07:20 +0100 Subject: add proper readline support --- skel/.pythonrc | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'skel') diff --git a/skel/.pythonrc b/skel/.pythonrc index b1226d8..573e388 100644 --- a/skel/.pythonrc +++ b/skel/.pythonrc @@ -1,10 +1,32 @@ # ~/.pythonrc +# Add auto-completion and a stored history file of commands to your Python +# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is +# bound to the Esc key by default (you can change it - see readline docs). +# +# Store the file in ~/.pystartup, and set an environment variable to point +# to it: "export PYTHONSTARTUP=/home/user/.pystartup" in bash. +# +# Note that PYTHONSTARTUP does *not* expand "~", so you have to put in the +# full path to your home directory. + +import atexit +import os # enable syntax completion try: - import readline + import readline + readline.parse_and_bind("tab: complete") except ImportError: - print ("Module readline not available.") -else: - import rlcompleter - readline.parse_and_bind("tab: complete") - + print ("Module readline not available.") +import rlcompleter + +historyPath = os.path.expanduser("~/.pyhistory") + +def save_history(historyPath=historyPath): + import readline + readline.write_history_file(historyPath) + +if os.path.exists(historyPath): + readline.read_history_file(historyPath) + +atexit.register(save_history) +del os, atexit, readline, rlcompleter, save_history, historyPath -- cgit v1.2.3