mirror of
https://github.com/python/cpython.git
synced 2024-11-25 19:03:49 +08:00
cc0ade8cd5
Patch linecache.checkcache() to keep our special entries alive. Add popup menu to all editor windows to set a breakpoint. |
||
---|---|---|
.. | ||
AutoExpand.py | ||
AutoIndent.py | ||
Bindings.py | ||
ClassBrowser.py | ||
ColorDelegator.py | ||
Debugger.py | ||
Delegator.py | ||
EditorWindow.py | ||
FileList.py | ||
FrameViewer.py | ||
help.txt | ||
HelpWindow.py | ||
History.py | ||
idle | ||
idle.pyw | ||
IdleHistory.py | ||
IOBinding.py | ||
Outline.py | ||
Percolator.py | ||
PopupMenu.py | ||
PyShell.py | ||
README | ||
ScrolledList.py | ||
SearchBinding.py | ||
StackViewer.py | ||
tabnanny.py | ||
test.py | ||
UndoDelegator.py | ||
WidgetRedirector.py |
TO DO: - "Recent documents" menu item - use platform specific default bindings - title and Windows menu should have base filename first - restructure state sensitive code to avoid testing flags all the time - integrated debugger - object browser instead of current stack viewer - save some user state (e.g. window and cursor positions, bindings) - make backups when saving - check file mtimes at various points - interface with RCS/CVS/Perforce ??? - more search options: case [in]sensitive, fwd/back, string/regex - global query replace - incremental search - more emacsisms: - reindent, reformat text etc. - M-[, M-] to move by paragraphs - smart stuff with whitespace around Return - filter region? - grep? - status bar? - better help? Details: - when there's a selection, left/right arrow should go to either end of the selection - ^O should honor autoindent 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 - class browser could become an outline? ====================================================================== Comparison to PTUI ------------------ - 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 framework is better: status line (not sure if I like the toolbar) - PTUI's GUI is a tad ugly: I don't like the multiple buffers in one window model - PTUI's help is better (HTML!) - PTUI's search/replace is better (more features) - PTUI's auto indent is better (understands that "if a: # blah, blah" opens a block) - PTUI's key bindings are a bit weird (DEL to dedent a line!?!?!?) - PTUI's fontify is faster but synchronous (and still too slow); also doesn't do as good a job if editing affects lines far below - PTUI has more bells and whistles: open multiple append zap tabs fontify (you could argue it's not needed in my code) comment/uncomment modularize examine go