Guido van Rossum | a017777 | 1998-11-16 18:34:26 +0000 | [diff] [blame] | 1 | IDLE 0.1 - 10/16/98 |
| 2 | ------------------- |
| 3 | |
| 4 | This is a *very* early preliminary release of IDLE, my own attempt at |
| 5 | a Tkinter-based IDE for Python. It currently has the following |
| 6 | features: |
| 7 | |
| 8 | - multi-window text editor with multiple undo and Python colorizing |
| 9 | - Python shell (a.k.a. interactive interpreter) window subclass |
| 10 | - debugger |
Guido van Rossum | 72fe085 | 1998-11-16 18:37:42 +0000 | [diff] [blame^] | 11 | - 100% pure Python |
| 12 | - works on Windows and Unix (should work on Mac too) |
Guido van Rossum | a017777 | 1998-11-16 18:34:26 +0000 | [diff] [blame] | 13 | |
Guido van Rossum | 72fe085 | 1998-11-16 18:37:42 +0000 | [diff] [blame^] | 14 | The main program is in the file "idle"; on Windows you can use |
| 15 | idle.pyw to avoid popping up a DOS console. Any arguments passed are |
| 16 | interpreted as files that will be opened for editing. |
| 17 | |
| 18 | IDLE requires Python 1.5.2, so it is currently only usable for PSA |
Guido van Rossum | a017777 | 1998-11-16 18:34:26 +0000 | [diff] [blame] | 19 | members who have the latest 1.5.2 alpha release (a public beta release |
| 20 | is due shortly). |
| 21 | |
| 22 | Please send feedback to the Python newsgroup, comp.lang.python. |
| 23 | |
| 24 | --Guido van Rossum (home page: http://www.python.org/~guido/) |
| 25 | |
| 26 | ====================================================================== |
| 27 | |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 28 | TO DO: |
| 29 | |
Guido van Rossum | baf53b4 | 1998-10-16 20:08:34 +0000 | [diff] [blame] | 30 | - "Recent documents" menu item |
Guido van Rossum | f035d3b | 1998-10-13 23:49:55 +0000 | [diff] [blame] | 31 | - use platform specific default bindings |
| 32 | - title and Windows menu should have base filename first |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 33 | - restructure state sensitive code to avoid testing flags all the time |
| 34 | - integrated debugger |
Guido van Rossum | f035d3b | 1998-10-13 23:49:55 +0000 | [diff] [blame] | 35 | - object browser instead of current stack viewer |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 36 | - save some user state (e.g. window and cursor positions, bindings) |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 37 | - make backups when saving |
| 38 | - check file mtimes at various points |
| 39 | - interface with RCS/CVS/Perforce ??? |
| 40 | - more search options: case [in]sensitive, fwd/back, string/regex |
| 41 | - global query replace |
| 42 | - incremental search |
| 43 | - more emacsisms: |
| 44 | - reindent, reformat text etc. |
| 45 | - M-[, M-] to move by paragraphs |
| 46 | - smart stuff with whitespace around Return |
Guido van Rossum | f035d3b | 1998-10-13 23:49:55 +0000 | [diff] [blame] | 47 | - filter region? |
| 48 | - grep? |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 49 | - status bar? |
| 50 | - better help? |
| 51 | |
| 52 | Details: |
Guido van Rossum | 72fe085 | 1998-11-16 18:37:42 +0000 | [diff] [blame^] | 53 | |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 54 | - when there's a selection, left/right arrow should go to either |
| 55 | end of the selection |
Guido van Rossum | f035d3b | 1998-10-13 23:49:55 +0000 | [diff] [blame] | 56 | - ^O should honor autoindent |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 57 | |
| 58 | Structural problems: |
| 59 | |
| 60 | - too much knowledge in FileList about EditorWindow (for example) |
Guido van Rossum | f035d3b | 1998-10-13 23:49:55 +0000 | [diff] [blame] | 61 | - Several occurrences of scrollable listbox with title and certain |
| 62 | behavior; should create base class to generalize this |
| 63 | - class browser could become an outline? |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 64 | |
| 65 | ====================================================================== |
| 66 | |
| 67 | Comparison to PTUI |
| 68 | ------------------ |
| 69 | |
| 70 | - PTUI's shell is worse: |
| 71 | no coloring; |
| 72 | no editing of multi-line commands; |
| 73 | ^P seems to permanently remove some text from the buffer |
| 74 | |
| 75 | - PTUI's undo is worse: |
| 76 | no redo; |
| 77 | one char at a time |
| 78 | |
| 79 | - PTUI's framework is better: |
| 80 | status line |
Guido van Rossum | 3b4ca0d | 1998-10-10 18:48:31 +0000 | [diff] [blame] | 81 | (not sure if I like the toolbar) |
| 82 | |
| 83 | - PTUI's GUI is a tad ugly: |
| 84 | I don't like the multiple buffers in one window model |
| 85 | |
| 86 | - PTUI's help is better (HTML!) |
| 87 | |
| 88 | - PTUI's search/replace is better (more features) |
| 89 | |
| 90 | - PTUI's auto indent is better |
| 91 | (understands that "if a: # blah, blah" opens a block) |
| 92 | |
| 93 | - PTUI's key bindings are a bit weird (DEL to dedent a line!?!?!?) |
| 94 | |
| 95 | - PTUI's fontify is faster but synchronous (and still too slow); |
| 96 | also doesn't do as good a job if editing affects lines far below |
| 97 | |
| 98 | - PTUI has more bells and whistles: |
| 99 | open multiple |
| 100 | append |
| 101 | zap tabs |
| 102 | fontify (you could argue it's not needed in my code) |
| 103 | comment/uncomment |
| 104 | modularize |
| 105 | examine |
| 106 | go |
Guido van Rossum | a017777 | 1998-11-16 18:34:26 +0000 | [diff] [blame] | 107 | |
| 108 | ====================================================================== |
| 109 | |
| 110 | Notes after trying to run Grail |
| 111 | ------------------------------- |
| 112 | |
| 113 | - Grail does stuff to sys.path based on sys.argv[0]; you must set |
| 114 | sys.argv[0] to something decent first (it is normally set to the path |
| 115 | of the idle script). |
| 116 | |
| 117 | - Grail must be exec'ed in __main__ because that's imported by some |
| 118 | other parts of Grail. |
| 119 | |
| 120 | - Grail uses a module called History and so does idle :-( |
| 121 | |
| 122 | ====================================================================== |