blob: 04abaa23419165b592a69ba2f535f77a5b656c5c [file] [log] [blame]
Guido van Rossum6ba219e1999-01-07 00:10:00 +00001
2TO DO:
3
Guido van Rossum5ec13c51999-02-08 22:27:18 +00004- improve debugger:
5 - manage breakpoints globally, allow bp deletion, tbreak, cbreak etc.
6 - real object browser
7 - slidable panel separators
8 - help on how to use it (a simple help button will do wonders)
9 - performance? (updates of large sets of locals are slow)
10 - better integration of "debug module"
11- insert the initial current directory into sys.path
12- default directory attribute for each window instead of only for windows
13 that have an associated filename
Guido van Rossum6ba219e1999-01-07 00:10:00 +000014- "GO" command
Guido van Rossum6ba219e1999-01-07 00:10:00 +000015- command expansion from keywords, module contents, other buffers, etc.
16- "Recent documents" menu item
17- more emacsisms:
Guido van Rossum5ec13c51999-02-08 22:27:18 +000018 - parentheses matching
19 - M-[, M-] to move by paragraphs
20 - smart stuff with whitespace around Return
21 - filter region?
22 - incremental search?
23 - ^K should cut to buffer
Guido van Rossum6ba219e1999-01-07 00:10:00 +000024- restructure state sensitive code to avoid testing flags all the time
Guido van Rossum6ba219e1999-01-07 00:10:00 +000025- persistent user state (e.g. window and cursor positions, bindings)
26- make backups when saving
27- check file mtimes at various points
28- interface with RCS/CVS/Perforce ???
29- status bar?
30- better help?
31- don't open second class browser on same module
32
33Details:
34
35- when there's a selection, left/right arrow should go to either
36 end of the selection
37- ^O (on Unix -- open-line) should honor autoindent
38- after paste, show end of pasted text
39- on Windows, should turn short filename to long filename (not only in argv!)
40 (shouldn't this be done -- or undone -- by ntpath.normpath?)
41
42Structural problems:
43
44- too much knowledge in FileList about EditorWindow (for example)
45- Several occurrences of scrollable listbox with title and certain
46 behavior; should create base class to generalize this
47
48======================================================================
49
50Jeff Bauer suggests:
51
52- The editor should show the current line number.
53- Open Module doesn't appear to handle hierarchical packages.
54- Class browser should also allow hierarchical packages.
55- Open and Open Module could benefit from a history,
56 either command line style, or Microsoft recent-file
57 style.
58- Add a Smalltalk-style inspector (i.e. Tkinspect)
59
60The last suggestion is already a reality, but not yet
61integrated into IDLE. I use a module called inspector.py,
62that used to be available from python.org(?) It no longer
63appears to be in the contributed section, and the source
64has no author attribution.
65
66In any case, the code is useful for visually navigating
67an object's attributes, including its container hierarchy.
68
69 >>> from inspector import Tkinspect
70 >>> Tkinspect(None, myObject)
71
72Tkinspect could probably be extended and refined to
73integrate better into IDLE.
74
75======================================================================
76
77Comparison to PTUI
78------------------
79
80+ PTUI has a status line
81
82+ PTUI's help is better (HTML!)
83
84+ PTUI can attach a shell to any module
85
86+ PTUI's auto indent is better
87 (understands that "if a: # blah, blah" opens a block)
88
Guido van Rossum6ba219e1999-01-07 00:10:00 +000089+ PTUI has more bells and whistles:
90 open multiple
91 append
Guido van Rossum6ba219e1999-01-07 00:10:00 +000092 examine
93 go
94
95? PTUI's fontify is faster but synchronous (and still too slow);
96 does a lousy job if editing affects lines below
97
98- PTUI's shell is worse:
99 no coloring;
100 no editing of multi-line commands;
101 ^P seems to permanently remove some text from the buffer
102
103- PTUI's undo is worse:
104 no redo;
105 one char at a time
106
107- PTUI's GUI is a tad ugly:
108 I don't like the multiple buffers in one window model;
109 I don't like the big buttons at the top of the widow
110
111- PTUI lacks an integrated debugger
112
113- PTUI lacks a class browser
114
115- PTUI lacks many of IDLE's features:
116 - expand word
117 - regular expression search
118 - search files (grep)
Guido van Rossumc66e8601999-01-11 14:52:40 +0000119 - (un)tabify
120 - center
121 - zoom height
Guido van Rossum6ba219e1999-01-07 00:10:00 +0000122
123======================================================================
124
125Notes after trying to run Grail
126-------------------------------
127
128- Grail does stuff to sys.path based on sys.argv[0]; you must set
129sys.argv[0] to something decent first (it is normally set to the path of
130the idle script).
131
132- Grail must be exec'ed in __main__ because that's imported by some
133other parts of Grail.
134
135- Grail uses a module called History and so does idle :-(
136
137======================================================================