Separating TODO from README. Slight reformulation of features. No

exact release date.
This commit is contained in:
Guido van Rossum 1999-01-07 00:11:29 +00:00
parent 6ba219e975
commit 2927e7891f
1 changed files with 6 additions and 113 deletions

View File

@ -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 :-(
======================================================================