/opt/alt/python37/lib64/python3.7/idlelib
Original IDLE todo, much of it now outdated: ============================================ TO DO: - improve debugger: - manage breakpoints globally, allow bp deletion, tbreak, cbreak etc. - real object browser - help on how to use it (a simple help button will do wonders) - performance? (updates of large sets of locals are slow) - 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 - display class name in stack viewer entries for methods - suppress tracing through IDLE internals (e.g. print) DONE - add a button to suppress through a specific module or class or method - more object inspection to stack viewer, e.g. to view all array items - insert the initial current directory into sys.path DONE - default directory attribute for each window instead of only for windows that have an associated filename - command expansion from keywords, module contents, other buffers, etc. - "Recent documents" menu item DONE - Filter region command - Optional horizontal scroll bar - more Emacsisms: - ^K should cut to buffer - M-[, M-] to move by paragraphs - incremental search? - 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 - better help? - don't open second class browser on same module (nor second path browser) - unify class and path browsers - 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?) DONE - Way to find definition of fully-qualified name: 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: - ^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?) - 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 DONE Structural problems: - too much knowledge in FileList about EditorWindow (for example) - should add some primitives for accessing the selection etc. to repeat cumbersome code over and over ====================================================================== Jeff Bauer suggests: - 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, DONE 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's help is better (HTML!) + PTUI can attach a shell to any module + PTUI has some more I/O commands: open multiple append examine (what's that?) ====================================================================== 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 :-( ====================================================================== 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? FIRST CUT DONE - 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) DONE - Config files still editable outside the preferences dialog. (Randall Hopper) DONE - 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) DONE - 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) REJECT FIRST, LATTER DONE - GUI form designer to kick VB's butt. (Robert Geiger) THAT'S NOT IDLE - Printing! Possibly via generation of PDF files which the user must then send to the printer separately. (Dinu Gherman) FIRST CUT
.
Edit
..
Edit
CREDITS.txt
Edit
ChangeLog
Edit
HISTORY.txt
Edit
Icons
Edit
NEWS.txt
Edit
NEWS2x.txt
Edit
README.txt
Edit
TODO.txt
Edit
__init__.py
Edit
__main__.py
Edit
__pycache__
Edit
autocomplete.py
Edit
autocomplete_w.py
Edit
autoexpand.py
Edit
browser.py
Edit
calltip.py
Edit
calltip_w.py
Edit
codecontext.py
Edit
colorizer.py
Edit
config-extensions.def
Edit
config-highlight.def
Edit
config-keys.def
Edit
config-main.def
Edit
config.py
Edit
config_key.py
Edit
configdialog.py
Edit
debugger.py
Edit
debugger_r.py
Edit
debugobj.py
Edit
debugobj_r.py
Edit
delegator.py
Edit
dynoption.py
Edit
editor.py
Edit
extend.txt
Edit
filelist.py
Edit
format.py
Edit
grep.py
Edit
help.html
Edit
help.py
Edit
help_about.py
Edit
history.py
Edit
hyperparser.py
Edit
idle.py
Edit
idle.pyw
Edit
idle_test
Edit
iomenu.py
Edit
macosx.py
Edit
mainmenu.py
Edit
multicall.py
Edit
outwin.py
Edit
parenmatch.py
Edit
pathbrowser.py
Edit
percolator.py
Edit
pyparse.py
Edit
pyshell.py
Edit
query.py
Edit
redirector.py
Edit
replace.py
Edit
rpc.py
Edit
run.py
Edit
runscript.py
Edit
scrolledlist.py
Edit
search.py
Edit
searchbase.py
Edit
searchengine.py
Edit
sidebar.py
Edit
squeezer.py
Edit
stackviewer.py
Edit
statusbar.py
Edit
textview.py
Edit
tooltip.py
Edit
tree.py
Edit
undo.py
Edit
window.py
Edit
zoomheight.py
Edit
zzdummy.py
Edit