mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Implement idle command interface as suggested by GvR [idle-dev] 16 July
**************** PyShell: Added functionality: usage: idle.py [-c command] [-d] [-i] [-r script] [-s] [-t title] [arg] ... idle file(s) (without options) edit the file(s) -c cmd run the command in a shell -d enable the debugger -i open an interactive shell -i file(s) open a shell and also an editor window for each file -r script run a file as a script in a shell -s run $IDLESTARTUP or $PYTHONSTARTUP before anything else -t title set title of shell window Remaining arguments are applied to the command (-c) or script (-r). ****************** idles: Removed the idles script, not needed ****************** idle: Removed the IdleConf references, not required anymore
This commit is contained in:
parent
0eb4f3e994
commit
96d8842237
3 changed files with 26 additions and 38 deletions
|
@ -709,17 +709,19 @@ class PseudoFile:
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
usage_msg = """\
|
usage_msg = """\
|
||||||
usage: idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
|
usage: idle.py [-c command] [-d] [-i] [-r script] [-s] [-t title] [arg] ...
|
||||||
|
|
||||||
-c command run this command
|
idle file(s) (without options) edit the file(s)
|
||||||
-d enable debugger
|
|
||||||
-e edit mode; arguments are files to be edited
|
|
||||||
-s run $IDLESTARTUP or $PYTHONSTARTUP before anything else
|
|
||||||
-t title set title of shell window
|
|
||||||
|
|
||||||
When neither -c nor -e is used, and there are arguments, and the first
|
-c cmd run the command in a shell
|
||||||
argument is not '-', the first argument is run as a script. Remaining
|
-d enable the debugger
|
||||||
arguments are arguments to the script or to the command run by -c.
|
-i open an interactive shell
|
||||||
|
-i file(s) open a shell and also an editor window for each file
|
||||||
|
-r script run a file as a script in a shell
|
||||||
|
-s run $IDLESTARTUP or $PYTHONSTARTUP before anything else
|
||||||
|
-t title set title of shell window
|
||||||
|
|
||||||
|
Remaining arguments are applied to the command (-c) or script (-r).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
class usageError:
|
class usageError:
|
||||||
|
@ -781,29 +783,34 @@ class main:
|
||||||
cmd = None
|
cmd = None
|
||||||
edit = 0
|
edit = 0
|
||||||
debug = 0
|
debug = 0
|
||||||
|
interactive = 0
|
||||||
|
script = None
|
||||||
startup = 0
|
startup = 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
opts, args = getopt.getopt(argv, "c:deist:")
|
opts, args = getopt.getopt(argv, "c:dir:st:")
|
||||||
except getopt.error, msg:
|
except getopt.error, msg:
|
||||||
sys.stderr.write("Error: %s\n" % str(msg))
|
sys.stderr.write("Error: %s\n" % str(msg))
|
||||||
sys.stderr.write(usage_msg)
|
sys.stderr.write(usage_msg)
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
|
||||||
for o, a in opts:
|
for o, a in opts:
|
||||||
noshell = 0
|
noshell = 0 # There are options, bring up a shell
|
||||||
if o == '-c':
|
if o == '-c':
|
||||||
cmd = a
|
cmd = a
|
||||||
if o == '-d':
|
if o == '-d':
|
||||||
debug = 1
|
debug = 1
|
||||||
if o == '-e':
|
if o == '-i':
|
||||||
edit = 1
|
interactive = 1
|
||||||
|
if o == '-r':
|
||||||
|
script = a
|
||||||
if o == '-s':
|
if o == '-s':
|
||||||
startup = 1
|
startup = 1
|
||||||
if o == '-t':
|
if o == '-t':
|
||||||
PyShell.shell_title = a
|
PyShell.shell_title = a
|
||||||
|
|
||||||
if noshell: edit=1
|
if noshell: edit=1
|
||||||
|
if interactive and args and args[0] != "-": edit = 1
|
||||||
|
|
||||||
for i in range(len(sys.path)):
|
for i in range(len(sys.path)):
|
||||||
sys.path[i] = os.path.abspath(sys.path[i])
|
sys.path[i] = os.path.abspath(sys.path[i])
|
||||||
|
@ -860,9 +867,11 @@ class main:
|
||||||
shell.open_debugger()
|
shell.open_debugger()
|
||||||
if cmd:
|
if cmd:
|
||||||
interp.execsource(cmd)
|
interp.execsource(cmd)
|
||||||
elif not edit and args and args[0] != "-":
|
elif script:
|
||||||
interp.execfile(args[0])
|
if os.path.isfile(script):
|
||||||
|
interp.execfile(script)
|
||||||
|
else:
|
||||||
|
print "No script file: ", script
|
||||||
shell.begin()
|
shell.begin()
|
||||||
|
|
||||||
self.idle()
|
self.idle()
|
||||||
|
|
|
@ -1,12 +1,4 @@
|
||||||
#! /usr/bin/env python
|
#! /usr/bin/env python
|
||||||
|
|
||||||
import os
|
import PyShell
|
||||||
import sys
|
|
||||||
from idlelib import IdleConf
|
|
||||||
|
|
||||||
idle_dir = os.path.dirname(IdleConf.__file__)
|
|
||||||
IdleConf.load(idle_dir)
|
|
||||||
|
|
||||||
# defer importing Pyshell until IdleConf is loaded
|
|
||||||
from idlelib import PyShell
|
|
||||||
PyShell.main()
|
PyShell.main()
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
#! /usr/bin/env python
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
from idlelib import IdleConf
|
|
||||||
|
|
||||||
idle_dir = os.path.dirname(IdleConf.__file__)
|
|
||||||
IdleConf.load(idle_dir)
|
|
||||||
|
|
||||||
# defer importing Pyshell until IdleConf is loaded
|
|
||||||
from idlelib import PyShell
|
|
||||||
# open a shell instead of an editor window
|
|
||||||
PyShell.main(0)
|
|
Loading…
Add table
Add a link
Reference in a new issue