Fixed #26289 -- Enabled shell tab completion on systems using libedit.
This commit is contained in:
parent
839a955d08
commit
6c33e73333
|
@ -69,6 +69,12 @@ class Command(BaseCommand):
|
||||||
# we already know 'readline' was imported successfully.
|
# we already know 'readline' was imported successfully.
|
||||||
import rlcompleter
|
import rlcompleter
|
||||||
readline.set_completer(rlcompleter.Completer(imported_objects).complete)
|
readline.set_completer(rlcompleter.Completer(imported_objects).complete)
|
||||||
|
# Enable tab completion on systems using libedit (e.g. Mac OSX).
|
||||||
|
# These lines are copied from Lib/site.py on Python 3.4.
|
||||||
|
readline_doc = getattr(readline, '__doc__', '')
|
||||||
|
if readline_doc is not None and 'libedit' in readline_doc:
|
||||||
|
readline.parse_and_bind("bind ^I rl_complete")
|
||||||
|
else:
|
||||||
readline.parse_and_bind("tab:complete")
|
readline.parse_and_bind("tab:complete")
|
||||||
|
|
||||||
# We want to honor both $PYTHONSTARTUP and .pythonrc.py, so follow system
|
# We want to honor both $PYTHONSTARTUP and .pythonrc.py, so follow system
|
||||||
|
|
|
@ -285,6 +285,9 @@ Management Commands
|
||||||
* To assist with testing, :func:`~django.core.management.call_command` now
|
* To assist with testing, :func:`~django.core.management.call_command` now
|
||||||
accepts a command object as the first argument.
|
accepts a command object as the first argument.
|
||||||
|
|
||||||
|
* The :djadmin:`shell` command supports tab completion on systems using
|
||||||
|
``libedit``, e.g. Mac OSX.
|
||||||
|
|
||||||
Migrations
|
Migrations
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue