Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/idlelib/TODO.txt @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 Original IDLE todo, much of it now outdated: | |
2 ============================================ | |
3 TO DO: | |
4 | |
5 - improve debugger: | |
6 - manage breakpoints globally, allow bp deletion, tbreak, cbreak etc. | |
7 - real object browser | |
8 - help on how to use it (a simple help button will do wonders) | |
9 - performance? (updates of large sets of locals are slow) | |
10 - better integration of "debug module" | |
11 - debugger should be global resource (attached to flist, not to shell) | |
12 - fix the stupid bug where you need to step twice | |
13 - display class name in stack viewer entries for methods | |
14 - suppress tracing through IDLE internals (e.g. print) DONE | |
15 - add a button to suppress through a specific module or class or method | |
16 - more object inspection to stack viewer, e.g. to view all array items | |
17 - insert the initial current directory into sys.path DONE | |
18 - default directory attribute for each window instead of only for windows | |
19 that have an associated filename | |
20 - command expansion from keywords, module contents, other buffers, etc. | |
21 - "Recent documents" menu item DONE | |
22 - Filter region command | |
23 - Optional horizontal scroll bar | |
24 - more Emacsisms: | |
25 - ^K should cut to buffer | |
26 - M-[, M-] to move by paragraphs | |
27 - incremental search? | |
28 - search should indicate wrap-around in some way | |
29 - restructure state sensitive code to avoid testing flags all the time | |
30 - persistent user state (e.g. window and cursor positions, bindings) | |
31 - make backups when saving | |
32 - check file mtimes at various points | |
33 - Pluggable interface with RCS/CVS/Perforce/Clearcase | |
34 - better help? | |
35 - don't open second class browser on same module (nor second path browser) | |
36 - unify class and path browsers | |
37 - Need to define a standard way whereby one can determine one is running | |
38 inside IDLE (needed for Tk mainloop, also handy for $PYTHONSTARTUP) | |
39 - Add more utility methods for use by extensions (a la get_selection) | |
40 - Way to run command in totally separate interpreter (fork+os.system?) DONE | |
41 - Way to find definition of fully-qualified name: | |
42 In other words, select "UserDict.UserDict", hit some magic key and | |
43 it loads up UserDict.py and finds the first def or class for UserDict. | |
44 - need a way to force colorization on/off | |
45 - need a way to force auto-indent on/off | |
46 | |
47 Details: | |
48 | |
49 - ^O (on Unix -- open-line) should honor autoindent | |
50 - after paste, show end of pasted text | |
51 - on Windows, should turn short filename to long filename (not only in argv!) | |
52 (shouldn't this be done -- or undone -- by ntpath.normpath?) | |
53 - new autoindent after colon even indents when the colon is in a comment! | |
54 - sometimes forward slashes in pathname remain | |
55 - sometimes star in window name remains in Windows menu | |
56 - With unix bindings, ESC by itself is ignored | |
57 - Sometimes for no apparent reason a selection from the cursor to the | |
58 end of the command buffer appears, which is hard to get rid of | |
59 because it stays when you are typing! | |
60 - The Line/Col in the status bar can be wrong initially in PyShell DONE | |
61 | |
62 Structural problems: | |
63 | |
64 - too much knowledge in FileList about EditorWindow (for example) | |
65 - should add some primitives for accessing the selection etc. | |
66 to repeat cumbersome code over and over | |
67 | |
68 ====================================================================== | |
69 | |
70 Jeff Bauer suggests: | |
71 | |
72 - Open Module doesn't appear to handle hierarchical packages. | |
73 - Class browser should also allow hierarchical packages. | |
74 - Open and Open Module could benefit from a history, DONE | |
75 either command line style, or Microsoft recent-file | |
76 style. | |
77 - Add a Smalltalk-style inspector (i.e. Tkinspect) | |
78 | |
79 The last suggestion is already a reality, but not yet | |
80 integrated into IDLE. I use a module called inspector.py, | |
81 that used to be available from python.org(?) It no longer | |
82 appears to be in the contributed section, and the source | |
83 has no author attribution. | |
84 | |
85 In any case, the code is useful for visually navigating | |
86 an object's attributes, including its container hierarchy. | |
87 | |
88 >>> from inspector import Tkinspect | |
89 >>> Tkinspect(None, myObject) | |
90 | |
91 Tkinspect could probably be extended and refined to | |
92 integrate better into IDLE. | |
93 | |
94 ====================================================================== | |
95 | |
96 Comparison to PTUI | |
97 ------------------ | |
98 | |
99 + PTUI's help is better (HTML!) | |
100 | |
101 + PTUI can attach a shell to any module | |
102 | |
103 + PTUI has some more I/O commands: | |
104 open multiple | |
105 append | |
106 examine (what's that?) | |
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 of | |
115 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 ====================================================================== | |
123 | |
124 Robin Friedrich's items: | |
125 | |
126 Things I'd like to see: | |
127 - I'd like support for shift-click extending the selection. There's a | |
128 bug now that it doesn't work the first time you try it. | |
129 - Printing is needed. How hard can that be on Windows? FIRST CUT DONE | |
130 - The python-mode trick of autoindenting a line with <tab> is neat and | |
131 very handy. | |
132 - (someday) a spellchecker for docstrings and comments. | |
133 - a pagedown/up command key which moves to next class/def statement (top | |
134 level) | |
135 - split window capability | |
136 - DnD text relocation/copying | |
137 | |
138 Things I don't want to see. | |
139 - line numbers... will probably slow things down way too much. | |
140 - Please use another icon for the tree browser leaf. The small snake | |
141 isn't cutting it. | |
142 | |
143 ---------------------------------------------------------------------- | |
144 | |
145 - Customizable views (multi-window or multi-pane). (Markus Gritsch) | |
146 | |
147 - Being able to double click (maybe double right click) on a callable | |
148 object in the editor which shows the source of the object, if | |
149 possible. (Gerrit Holl) | |
150 | |
151 - Hooks into the guts, like in Emacs. (Mike Romberg) | |
152 | |
153 - Sharing the editor with a remote tutor. (Martijn Faassen) | |
154 | |
155 - Multiple views on the same file. (Tony J Ibbs) | |
156 | |
157 - Store breakpoints in a global (per-project) database (GvR); Dirk | |
158 Heise adds: save some space-trimmed context and search around when | |
159 reopening a file that might have been edited by someone else. | |
160 | |
161 - Capture menu events in extensions without changing the IDLE source. | |
162 (Matthias Barmeier) | |
163 | |
164 - Use overlapping panels (a "notebook" in MFC terms I think) for info | |
165 that doesn't need to be accessible simultaneously (e.g. HTML source | |
166 and output). Use multi-pane windows for info that does need to be | |
167 shown together (e.g. class browser and source). (Albert Brandl) | |
168 | |
169 - A project should invisibly track all symbols, for instant search, | |
170 replace and cross-ref. Projects should be allowed to span multiple | |
171 directories, hosts, etc. Project management files are placed in a | |
172 directory you specify. A global mapping between project names and | |
173 project directories should exist [not so sure --GvR]. (Tim Peters) | |
174 | |
175 - Merge attr-tips and auto-expand. (Mark Hammond, Tim Peters) | |
176 | |
177 - Python Shell should behave more like a "shell window" as users know | |
178 it -- i.e. you can only edit the current command, and the cursor can't | |
179 escape from the command area. (Albert Brandl) | |
180 | |
181 - Set X11 class to "idle/Idle", set icon and title to something | |
182 beginning with "idle" -- for window manangers. (Randall Hopper) | |
183 | |
184 - Config files editable through a preferences dialog. (me) DONE | |
185 | |
186 - Config files still editable outside the preferences dialog. | |
187 (Randall Hopper) DONE | |
188 | |
189 - When you're editing a command in PyShell, and there are only blank | |
190 lines below the cursor, hitting Return should ignore or delete those | |
191 blank lines rather than deciding you're not on the last line. (me) | |
192 | |
193 - Run command (F5 c.s.) should be more like Pythonwin's Run -- a | |
194 dialog with options to give command line arguments, run the debugger, | |
195 etc. (me) | |
196 | |
197 - Shouldn't be able to delete part of the prompt (or any text before | |
198 it) in the PyShell. (Martijn Faassen) DONE | |
199 | |
200 - Emacs style auto-fill (also smart about comments and strings). | |
201 (Jeremy Hylton) | |
202 | |
203 - Output of Run Script should go to a separate output window, not to | |
204 the shell window. Output of separate runs should all go to the same | |
205 window but clearly delimited. (David Scherer) REJECT FIRST, LATTER DONE | |
206 | |
207 - GUI form designer to kick VB's butt. (Robert Geiger) THAT'S NOT IDLE | |
208 | |
209 - Printing! Possibly via generation of PDF files which the user must | |
210 then send to the printer separately. (Dinu Gherman) FIRST CUT |