mirror of
https://github.com/python/cpython.git
synced 2024-11-29 04:44:13 +08:00
Separating TODO from README.
This commit is contained in:
parent
cf3ce92ef4
commit
6ba219e975
132
Tools/idle/TODO.txt
Normal file
132
Tools/idle/TODO.txt
Normal file
@ -0,0 +1,132 @@
|
||||
|
||||
TO DO:
|
||||
|
||||
- "GO" command
|
||||
- "Modularize" command
|
||||
- command expansion from keywords, module contents, other buffers, etc.
|
||||
- "Recent documents" menu item
|
||||
- more emacsisms:
|
||||
- parentheses matching
|
||||
- reindent, reformat text etc.
|
||||
- M-[, M-] to move by paragraphs
|
||||
- smart stuff with whitespace around Return
|
||||
- filter region?
|
||||
- incremental search?
|
||||
- ^K should cut to buffer
|
||||
- command to fill text paragraphs
|
||||
- restructure state sensitive code to avoid testing flags all the time
|
||||
- finish debugger
|
||||
- object browser instead of current stack viewer
|
||||
- persistent user state (e.g. window and cursor positions, bindings)
|
||||
- make backups when saving
|
||||
- check file mtimes at various points
|
||||
- interface with RCS/CVS/Perforce ???
|
||||
- status bar?
|
||||
- better help?
|
||||
- don't open second class browser on same module
|
||||
|
||||
Details:
|
||||
|
||||
- when there's a selection, left/right arrow should go to either
|
||||
end of the selection
|
||||
- ^O (on Unix -- open-line) should honor autoindent
|
||||
- after paste, show end of pasted text
|
||||
- on Windows, should turn short filename to long filename (not only in argv!)
|
||||
(shouldn't this be done -- or undone -- by ntpath.normpath?)
|
||||
|
||||
Structural problems:
|
||||
|
||||
- too much knowledge in FileList about EditorWindow (for example)
|
||||
- Several occurrences of scrollable listbox with title and certain
|
||||
behavior; should create base class to generalize this
|
||||
|
||||
======================================================================
|
||||
|
||||
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,
|
||||
either command line style, or Microsoft recent-file
|
||||
style.
|
||||
- Add a Smalltalk-style inspector (i.e. Tkinspect)
|
||||
|
||||
The last suggestion is already a reality, but not yet
|
||||
integrated into IDLE. I use a module called inspector.py,
|
||||
that used to be available from python.org(?) It no longer
|
||||
appears to be in the contributed section, and the source
|
||||
has no author attribution.
|
||||
|
||||
In any case, the code is useful for visually navigating
|
||||
an object's attributes, including its container hierarchy.
|
||||
|
||||
>>> from inspector import Tkinspect
|
||||
>>> Tkinspect(None, myObject)
|
||||
|
||||
Tkinspect could probably be extended and refined to
|
||||
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's auto indent is better
|
||||
(understands that "if a: # blah, blah" opens a block)
|
||||
|
||||
+ IDLE requires 4x backspace to dedent a line
|
||||
|
||||
+ PTUI has more bells and whistles:
|
||||
open multiple
|
||||
append
|
||||
modularize
|
||||
examine
|
||||
go
|
||||
|
||||
? 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 a class browser
|
||||
|
||||
- PTUI lacks many of IDLE's features:
|
||||
- expand word
|
||||
- regular expression search
|
||||
- search files (grep)
|
||||
|
||||
======================================================================
|
||||
|
||||
Notes after trying to run Grail
|
||||
-------------------------------
|
||||
|
||||
- Grail does stuff to sys.path based on sys.argv[0]; you must set
|
||||
sys.argv[0] to something decent first (it is normally set to the path of
|
||||
the idle script).
|
||||
|
||||
- Grail must be exec'ed in __main__ because that's imported by some
|
||||
other parts of Grail.
|
||||
|
||||
- Grail uses a module called History and so does idle :-(
|
||||
|
||||
======================================================================
|
Loading…
Reference in New Issue
Block a user