99 - better integration of "debug module"
1010 - debugger should be global resource (attached to flist, not to shell)
1111 - fix the stupid bug where you need to step twice
12- - after closing and reopening PyShell, debugger no longer works :-(
1312 - display class name in stack viewer entries for methods
1413 - suppress tracing through IDLE internals (e.g. print)
1514 - add a button to suppress through a specific module or class or method
@@ -20,30 +19,28 @@ TO DO:
2019- "Recent documents" menu item
2120- Filter region command
2221- Optional horizontal scroll bar
23- - more emacsisms :
24- - parentheses matching
22+ - more Emacsisms :
23+ - ^K should cut to buffer
2524 - M-[, M-] to move by paragraphs
2625 - incremental search?
27- - ^K should cut to buffer
2826- search should indicate wrap-around in some way
2927- restructure state sensitive code to avoid testing flags all the time
3028- persistent user state (e.g. window and cursor positions, bindings)
3129- make backups when saving
3230- check file mtimes at various points
3331- Pluggable interface with RCS/CVS/Perforce/Clearcase
34- - status bar???
3532- better help?
3633- don't open second class browser on same module (nor second path browser)
3734- unify class and path browsers
38- - use a tree widget instead of a smalltalk/NeXT style multicolumn browser
39- Need to define a standard way whereby one can determine one is running
35+ - Need to define a standard way whereby one can determine one is running
4036 inside IDLE (needed for Tk mainloop, also handy for $PYTHONSTARTUP)
4137- Add more utility methods for use by extensions (a la get_selection)
4238- Way to run command in totally separate interpreter (fork+os.system?)
4339- Way to find definition of fully-qualified name:
4440 In other words, select "UserDict.UserDict", hit some magic key and
4541 it loads up UserDict.py and finds the first def or class for UserDict.
4642- need a way to force colorization on/off
43+ - need a way to force auto-indent on/off
4744
4845Details:
4946
@@ -56,6 +53,11 @@ Details:
5653- new autoindent after colon even indents when the colon is in a comment!
5754- sometimes forward slashes in pathname remain
5855- sometimes star in window name remains in Windows menu
56+ - With unix bindings, ESC by itself is ignored
57+ - Sometimes for no apparent reason a selection from the cursor to the
58+ end of the command buffer appears, which is hard to get rid of
59+ because it stays when you are typing!
60+ - The Line/Col in the status bar can be wrong initially in PyShell
5961
6062Structural problems:
6163
@@ -67,7 +69,6 @@ Structural problems:
6769
6870Jeff Bauer suggests:
6971
70- - The editor should show the current line number.
7172- Open Module doesn't appear to handle hierarchical packages.
7273- Class browser should also allow hierarchical packages.
7374- Open and Open Module could benefit from a history,
@@ -95,44 +96,14 @@ integrate better into IDLE.
9596Comparison to PTUI
9697------------------
9798
98- + PTUI has a status line
99-
10099+ PTUI's help is better (HTML!)
101100
102101+ PTUI can attach a shell to any module
103102
104- + PTUI has more bells and whistles :
103+ + PTUI has some more I/O commands :
105104 open multiple
106105 append
107- examine
108-
109- ? PTUI's fontify is faster but synchronous (and still too slow);
110- does a lousy job if editing affects lines below
111-
112- - PTUI's shell is worse:
113- no coloring;
114- no editing of multi-line commands;
115- ^P seems to permanently remove some text from the buffer
116-
117- - PTUI's undo is worse:
118- no redo;
119- one char at a time
120-
121- - PTUI's GUI is a tad ugly:
122- I don't like the multiple buffers in one window model;
123- I don't like the big buttons at the top of the widow
124-
125- - PTUI lacks an integrated debugger
126-
127- - PTUI lacks path and class browsers
128-
129- - PTUI lacks many of IDLE's features:
130- - expand word
131- - regular expression search
132- - search files (grep)
133- - (un)tabify
134- - center
135- - zoom height
106+ examine (what's that?)
136107
137108======================================================================
138109
@@ -149,3 +120,86 @@ other parts of Grail.
149120- Grail uses a module called History and so does idle :-(
150121
151122======================================================================
123+
124+ Robin Friedrich's items:
125+
126+ Things I'd like to see:
127+ - I'd like support for shift-click extending the selection. There's a
128+ bug now that it doesn't work the first time you try it.
129+ - Printing is needed. How hard can that be on Windows?
130+ - The python-mode trick of autoindenting a line with <tab> is neat and
131+ very handy.
132+ - (someday) a spellchecker for docstrings and comments.
133+ - a pagedown/up command key which moves to next class/def statement (top
134+ level)
135+ - split window capability
136+ - DnD text relocation/copying
137+
138+ Things I don't want to see.
139+ - line numbers... will probably slow things down way too much.
140+ - Please use another icon for the tree browser leaf. The small snake
141+ isn't cutting it.
142+
143+ ----------------------------------------------------------------------
144+
145+ - Customizable views (multi-window or multi-pane). (Markus Gritsch)
146+
147+ - Being able to double click (maybe double right click) on a callable
148+ object in the editor which shows the source of the object, if
149+ possible. (Gerrit Holl)
150+
151+ - Hooks into the guts, like in Emacs. (Mike Romberg)
152+
153+ - Sharing the editor with a remote tutor. (Martijn Faassen)
154+
155+ - Multiple views on the same file. (Tony J Ibbs)
156+
157+ - Store breakpoints in a global (per-project) database (GvR); Dirk
158+ Heise adds: save some space-trimmed context and search around when
159+ reopening a file that might have been edited by someone else.
160+
161+ - Capture menu events in extensions without changing the IDLE source.
162+ (Matthias Barmeier)
163+
164+ - Use overlapping panels (a "notebook" in MFC terms I think) for info
165+ that doesn't need to be accessible simultaneously (e.g. HTML source
166+ and output). Use multi-pane windows for info that does need to be
167+ shown together (e.g. class browser and source). (Albert Brandl)
168+
169+ - A project should invisibly track all symbols, for instant search,
170+ replace and cross-ref. Projects should be allowed to span multiple
171+ directories, hosts, etc. Project management files are placed in a
172+ directory you specify. A global mapping between project names and
173+ project directories should exist [not so sure --GvR]. (Tim Peters)
174+
175+ - Merge attr-tips and auto-expand. (Mark Hammond, Tim Peters)
176+
177+ - Python Shell should behave more like a "shell window" as users know
178+ it -- i.e. you can only edit the current command, and the cursor can't
179+ escape from the command area. (Albert Brandl)
180+
181+ - Set X11 class to "idle/Idle", set icon and title to something
182+ beginning with "idle" -- for window manangers. (Randall Hopper)
183+
184+ - Config files editable through a preferences dialog. (me)
185+
186+ - Config files still editable outside the preferences dialog.
187+ (Randall Hopper)
188+
189+ - When you're editing a command in PyShell, and there are only blank
190+ lines below the cursor, hitting Return should ignore or delete those
191+ blank lines rather than deciding you're not on the last line. (me)
192+
193+ - Run command (F5 c.s.) should be more like Pythonwin's Run -- a
194+ dialog with options to give command line arguments, run the debugger,
195+ etc. (me)
196+
197+ - Shouldn't be able to delete part of the prompt (or any text before
198+ it) in the PyShell. (Martijn Faassen)
199+
200+ - Emacs style auto-fill (also smart about comments and strings).
201+ (Jeremy Hylton)
202+
203+ - Output of Run Script should go to a separate output window, not to
204+ the shell window. Output of separate runs should all go to the same
205+ window but clearly delimited. (David Scherer)
0 commit comments