mirror of
https://github.com/python/cpython.git
synced 2025-09-02 15:07:53 +00:00
gh-125142: add REPL help text for keyboard shortcuts (gh-125143)
This commit is contained in:
parent
31a500a92b
commit
68a737691b
2 changed files with 35 additions and 17 deletions
50
Lib/pydoc.py
50
Lib/pydoc.py
|
@ -68,6 +68,7 @@ import platform
|
|||
import re
|
||||
import sys
|
||||
import sysconfig
|
||||
import textwrap
|
||||
import time
|
||||
import tokenize
|
||||
import urllib.parse
|
||||
|
@ -1809,6 +1810,37 @@ def writedocs(dir, pkgpath='', done=None):
|
|||
writedoc(modname)
|
||||
return
|
||||
|
||||
|
||||
def _introdoc():
|
||||
import textwrap
|
||||
ver = '%d.%d' % sys.version_info[:2]
|
||||
if os.environ.get('PYTHON_BASIC_REPL'):
|
||||
pyrepl_keys = ''
|
||||
else:
|
||||
# Additional help for keyboard shortcuts if enhanced REPL is used.
|
||||
pyrepl_keys = '''
|
||||
You can use the following keyboard shortcuts at the main interpreter prompt.
|
||||
F1: enter interactive help, F2: enter history browsing mode, F3: enter paste
|
||||
mode (press again to exit).
|
||||
'''
|
||||
return textwrap.dedent(f'''\
|
||||
Welcome to Python {ver}'s help utility! If this is your first time using
|
||||
Python, you should definitely check out the tutorial at
|
||||
https://docs.python.org/{ver}/tutorial/.
|
||||
|
||||
Enter the name of any module, keyword, or topic to get help on writing
|
||||
Python programs and using Python modules. To get a list of available
|
||||
modules, keywords, symbols, or topics, enter "modules", "keywords",
|
||||
"symbols", or "topics".
|
||||
{pyrepl_keys}
|
||||
Each module also comes with a one-line summary of what it does; to list
|
||||
the modules whose name or summary contain a given string such as "spam",
|
||||
enter "modules spam".
|
||||
|
||||
To quit this help utility and return to the interpreter,
|
||||
enter "q", "quit" or "exit".
|
||||
''')
|
||||
|
||||
class Helper:
|
||||
|
||||
# These dictionaries map a topic name to either an alias, or a tuple
|
||||
|
@ -2075,23 +2107,7 @@ has the same effect as typing a particular string at the help> prompt.
|
|||
self.output.write('\n')
|
||||
|
||||
def intro(self):
|
||||
self.output.write('''\
|
||||
Welcome to Python {0}'s help utility! If this is your first time using
|
||||
Python, you should definitely check out the tutorial at
|
||||
https://docs.python.org/{0}/tutorial/.
|
||||
|
||||
Enter the name of any module, keyword, or topic to get help on writing
|
||||
Python programs and using Python modules. To get a list of available
|
||||
modules, keywords, symbols, or topics, enter "modules", "keywords",
|
||||
"symbols", or "topics".
|
||||
|
||||
Each module also comes with a one-line summary of what it does; to list
|
||||
the modules whose name or summary contain a given string such as "spam",
|
||||
enter "modules spam".
|
||||
|
||||
To quit this help utility and return to the interpreter,
|
||||
enter "q", "quit" or "exit".
|
||||
'''.format('%d.%d' % sys.version_info[:2]))
|
||||
self.output.write(_introdoc())
|
||||
|
||||
def list(self, items, columns=4, width=80):
|
||||
items = list(sorted(items))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue