##// END OF EJS Templates
usability and cross browser compat for completer...
usability and cross browser compat for completer - dissmiss the completer, append what alredy type, **Plus** one caracter in some cases List of special caracter that are handle are in a given list `()[]./\-+` for the moment. usefull for exaple when typing : >>> np.s<tab>in( and not having to type '(' twice. they are handle separately has the [a-zA-Z] ones because otherwise they will screw up the regexp, and are opt-in to avoid bugs with invisible caracters send because some browser have 'keypress' event for meta keys close #1080 Note to this commit : list of test for the completer across browser with --pylab=inline flag #test direct one completion plt.an<tab> -> plt.annotate #test filter,tab, only one completion plt.a<tab>n<tab> -> plt.annotate # test partial common beggining # test dismmised if user erase plt.a<tab>nn<backspace><backspace>u<tab> -> completer to `aut` ........................................<tab><tab><tab> -> nothing should append .......................................................<backspace><backspace<backspace> -> completer cancelled #test dismiss if no more completion plt.s<tab>c -> completer 3 choices ...........u -> dismissed whith what user have typed. `plt.scu` # test dismiss in no completion, special symbol # opt-in list of caracters +-/\()[]. np<tab>.s -> a 'dot' sould dismiss the completer and be appended .........<tab>in( -> np.sin( np.s<tab>in[ -> np.sin[

File last commit:

r5390:c82649ea
r5635:c630b34a
Show More
quitter.py
47 lines | 1.4 KiB | text/x-python | PythonLexer
# coding: utf-8
"""
A simple class for quitting IPython.
Authors
-------
* Fernando Perez
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
class Quitter(object):
"""Simple class to handle exit, similar to Python 2.5's.
It handles exiting in an ipython-safe manner, which the one in Python 2.5
doesn't do (obviously, since it doesn't know about ipython)."""
def __init__(self, shell, name):
self.shell = shell
self.name = name
def __str__(self):
return 'Type %s() to exit.' % self.name
def __call__(self):
self.shell.ask_exit()
# Repr MUST return a string, else display like pprint hooks get confused
def __repr__(self):
self.shell.ask_exit()
return ''