From 2927e7891f90a04048aa98341c8c1bacd7abf3df Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 7 Jan 1999 00:11:29 +0000 Subject: [PATCH] Separating TODO from README. Slight reformulation of features. No exact release date. --- Tools/idle/README.txt | 119 +++--------------------------------------- 1 file changed, 6 insertions(+), 113 deletions(-) diff --git a/Tools/idle/README.txt b/Tools/idle/README.txt index a4e4b849686..0279ed91ffe 100644 --- a/Tools/idle/README.txt +++ b/Tools/idle/README.txt @@ -1,13 +1,13 @@ -IDLE 0.2 - 01/01/99 -------------------- +IDLE 0.2 - January 1999 +----------------------- -This is a *very* early preliminary release of IDLE, my own attempt at -a Tkinter-based IDE for Python. It has the following features: +This is an early release of IDLE, my own attempt at a Tkinter-based +IDE for Python. It has the following features: +- 100% pure Python - multi-window text editor with multiple undo and Python colorizing - Python shell (a.k.a. interactive interpreter) window subclass -- debugger -- 100% pure Python +- debugger (not complete, but you can set breakpoints and step) - works on Windows and Unix (probably works on Mac too) The main program is in the file "idle"; on Windows you can use idle.pyw @@ -21,110 +21,3 @@ Python 1.5.2 beta distribution (luckily, IDLE is bundled with Python Please send feedback to the Python newsgroup, comp.lang.python. --Guido van Rossum (home page: http://www.python.org/~guido/) - -====================================================================== - -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 - -====================================================================== - -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 :-( - -======================================================================