Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 801296c

Browse files
committed
Added a bunch of TODO items that recently came up in the idle-dev list.
Also removed a bunch of items
1 parent fd6315e commit 801296c

1 file changed

Lines changed: 94 additions & 40 deletions

File tree

Tools/idle/TODO.txt

Lines changed: 94 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ TO DO:
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

4845
Details:
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

6062
Structural problems:
6163

@@ -67,7 +69,6 @@ Structural problems:
6769

6870
Jeff 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.
9596
Comparison 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

Comments
 (0)