diff options
author | Guido van Rossum <guido@python.org> | 2000-03-07 15:17:53 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2000-03-07 15:17:53 (GMT) |
commit | 801296c3b959d2225f2b7b2682bad3a980fe7e88 (patch) | |
tree | 9aae636aaa410f0e00e7f8f5ebdd75d1e957e47e /Tools/idle | |
parent | fd6315ec7f61b4170d243b0272f6f5362807849a (diff) | |
download | cpython-801296c3b959d2225f2b7b2682bad3a980fe7e88.zip cpython-801296c3b959d2225f2b7b2682bad3a980fe7e88.tar.gz cpython-801296c3b959d2225f2b7b2682bad3a980fe7e88.tar.bz2 |
Added a bunch of TODO items that recently came up in the idle-dev list.
Also removed a bunch of items
Diffstat (limited to 'Tools/idle')
-rw-r--r-- | Tools/idle/TODO.txt | 134 |
1 files changed, 94 insertions, 40 deletions
diff --git a/Tools/idle/TODO.txt b/Tools/idle/TODO.txt index 071a07a..9701a87 100644 --- a/Tools/idle/TODO.txt +++ b/Tools/idle/TODO.txt @@ -9,7 +9,6 @@ TO DO: - better integration of "debug module" - debugger should be global resource (attached to flist, not to shell) - fix the stupid bug where you need to step twice - - after closing and reopening PyShell, debugger no longer works :-( - display class name in stack viewer entries for methods - suppress tracing through IDLE internals (e.g. print) - add a button to suppress through a specific module or class or method @@ -20,23 +19,20 @@ TO DO: - "Recent documents" menu item - Filter region command - Optional horizontal scroll bar -- more emacsisms: - - parentheses matching +- more Emacsisms: + - ^K should cut to buffer - M-[, M-] to move by paragraphs - incremental search? - - ^K should cut to buffer - search should indicate wrap-around in some way - restructure state sensitive code to avoid testing flags all the time - persistent user state (e.g. window and cursor positions, bindings) - make backups when saving - check file mtimes at various points - Pluggable interface with RCS/CVS/Perforce/Clearcase -- status bar??? - better help? - don't open second class browser on same module (nor second path browser) - unify class and path browsers -- use a tree widget instead of a smalltalk/NeXT style multicolumn browser - Need to define a standard way whereby one can determine one is running +- Need to define a standard way whereby one can determine one is running inside IDLE (needed for Tk mainloop, also handy for $PYTHONSTARTUP) - Add more utility methods for use by extensions (a la get_selection) - Way to run command in totally separate interpreter (fork+os.system?) @@ -44,6 +40,7 @@ TO DO: In other words, select "UserDict.UserDict", hit some magic key and it loads up UserDict.py and finds the first def or class for UserDict. - need a way to force colorization on/off +- need a way to force auto-indent on/off Details: @@ -56,6 +53,11 @@ Details: - new autoindent after colon even indents when the colon is in a comment! - sometimes forward slashes in pathname remain - sometimes star in window name remains in Windows menu +- With unix bindings, ESC by itself is ignored +- Sometimes for no apparent reason a selection from the cursor to the + end of the command buffer appears, which is hard to get rid of + because it stays when you are typing! +- The Line/Col in the status bar can be wrong initially in PyShell Structural problems: @@ -67,7 +69,6 @@ Structural problems: Jeff Bauer suggests: -- The editor should show the current line number. - Open Module doesn't appear to handle hierarchical packages. - Class browser should also allow hierarchical packages. - Open and Open Module could benefit from a history, @@ -95,44 +96,14 @@ integrate better into IDLE. Comparison to PTUI ------------------ -+ PTUI has a status line - + PTUI's help is better (HTML!) + PTUI can attach a shell to any module -+ PTUI has more bells and whistles: ++ PTUI has some more I/O commands: open multiple append - examine - -? PTUI's fontify is faster but synchronous (and still too slow); - does a lousy job if editing affects lines below - -- PTUI's shell is worse: - no coloring; - no editing of multi-line commands; - ^P seems to permanently remove some text from the buffer - -- PTUI's undo is worse: - no redo; - one char at a time - -- PTUI's GUI is a tad ugly: - I don't like the multiple buffers in one window model; - I don't like the big buttons at the top of the widow - -- PTUI lacks an integrated debugger - -- PTUI lacks path and class browsers - -- PTUI lacks many of IDLE's features: - - expand word - - regular expression search - - search files (grep) - - (un)tabify - - center - - zoom height + examine (what's that?) ====================================================================== @@ -149,3 +120,86 @@ other parts of Grail. - Grail uses a module called History and so does idle :-( ====================================================================== + +Robin Friedrich's items: + +Things I'd like to see: + - I'd like support for shift-click extending the selection. There's a + bug now that it doesn't work the first time you try it. + - Printing is needed. How hard can that be on Windows? + - The python-mode trick of autoindenting a line with <tab> is neat and + very handy. + - (someday) a spellchecker for docstrings and comments. + - a pagedown/up command key which moves to next class/def statement (top + level) + - split window capability + - DnD text relocation/copying + +Things I don't want to see. + - line numbers... will probably slow things down way too much. + - Please use another icon for the tree browser leaf. The small snake + isn't cutting it. + +---------------------------------------------------------------------- + +- Customizable views (multi-window or multi-pane). (Markus Gritsch) + +- Being able to double click (maybe double right click) on a callable +object in the editor which shows the source of the object, if +possible. (Gerrit Holl) + +- Hooks into the guts, like in Emacs. (Mike Romberg) + +- Sharing the editor with a remote tutor. (Martijn Faassen) + +- Multiple views on the same file. (Tony J Ibbs) + +- Store breakpoints in a global (per-project) database (GvR); Dirk +Heise adds: save some space-trimmed context and search around when +reopening a file that might have been edited by someone else. + +- Capture menu events in extensions without changing the IDLE source. +(Matthias Barmeier) + +- Use overlapping panels (a "notebook" in MFC terms I think) for info +that doesn't need to be accessible simultaneously (e.g. HTML source +and output). Use multi-pane windows for info that does need to be +shown together (e.g. class browser and source). (Albert Brandl) + +- A project should invisibly track all symbols, for instant search, +replace and cross-ref. Projects should be allowed to span multiple +directories, hosts, etc. Project management files are placed in a +directory you specify. A global mapping between project names and +project directories should exist [not so sure --GvR]. (Tim Peters) + +- Merge attr-tips and auto-expand. (Mark Hammond, Tim Peters) + +- Python Shell should behave more like a "shell window" as users know +it -- i.e. you can only edit the current command, and the cursor can't +escape from the command area. (Albert Brandl) + +- Set X11 class to "idle/Idle", set icon and title to something +beginning with "idle" -- for window manangers. (Randall Hopper) + +- Config files editable through a preferences dialog. (me) + +- Config files still editable outside the preferences dialog. +(Randall Hopper) + +- When you're editing a command in PyShell, and there are only blank +lines below the cursor, hitting Return should ignore or delete those +blank lines rather than deciding you're not on the last line. (me) + +- Run command (F5 c.s.) should be more like Pythonwin's Run -- a +dialog with options to give command line arguments, run the debugger, +etc. (me) + +- Shouldn't be able to delete part of the prompt (or any text before +it) in the PyShell. (Martijn Faassen) + +- Emacs style auto-fill (also smart about comments and strings). +(Jeremy Hylton) + +- Output of Run Script should go to a separate output window, not to +the shell window. Output of separate runs should all go to the same +window but clearly delimited. (David Scherer) |