blob: 7bf74c0fc4ad3edb8306e8d725cf335e987cbfde [file] [log] [blame]
Terry Jan Reedyd4705272015-10-02 23:22:59 -04001README.txt: an index to idlelib files and the IDLE menu.
Steven M. Gavad39993e2001-07-20 01:36:49 +00002
Terry Jan Reedy5aeadb32015-12-18 15:46:57 -05003IDLE is Python's Integrated Development and Learning
Terry Jan Reedyd4705272015-10-02 23:22:59 -04004Environment. The user documentation is part of the Library Reference and
5is available in IDLE by selecting Help => IDLE Help. This README documents
6idlelib for IDLE developers and curious users.
Steven M. Gavad39993e2001-07-20 01:36:49 +00007
Terry Jan Reedyd4705272015-10-02 23:22:59 -04008IDLELIB FILES lists files alphabetically by category,
9with a short description of each.
Kurt B. Kaiser5ddef752003-06-01 01:11:14 +000010
Terry Jan Reedyd4705272015-10-02 23:22:59 -040011IDLE MENU show the menu tree, annotated with the module
12or module object that implements the corresponding function.
Kurt B. Kaiserf5934dd2002-12-31 17:56:18 +000013
Terry Jan Reedyd4705272015-10-02 23:22:59 -040014This file is descriptive, not prescriptive, and may have errors
15and omissions and lag behind changes in idlelib.
Kurt B. Kaiser18210562003-06-12 03:51:27 +000016
17
Terry Jan Reedyd4705272015-10-02 23:22:59 -040018IDLELIB FILES
19Implemetation files not in IDLE MENU are marked (nim).
20Deprecated files and objects are listed separately as the end.
Kurt B. Kaiser18210562003-06-12 03:51:27 +000021
Terry Jan Reedyd4705272015-10-02 23:22:59 -040022Startup
23-------
24__init__.py # import, does nothing
25__main__.py # -m, starts IDLE
26idle.bat
27idle.py
28idle.pyw
Kurt B. Kaiser18210562003-06-12 03:51:27 +000029
Terry Jan Reedyd4705272015-10-02 23:22:59 -040030Implementation
31--------------
32AutoComplete.py # Complete attribute names or filenames.
33AutoCompleteWindow.py # Display completions.
34AutoExpand.py # Expand word with previous word in file.
35Bindings.py # Define most of IDLE menu.
36CallTipWindow.py # Display calltip.
37CallTips.py # Create calltip text.
38ClassBrowser.py # Create module browser window.
39CodeContext.py # Show compound statement headers otherwise not visible.
40ColorDelegator.py # Colorize text (nim).
41Debugger.py # Debug code run from editor; show window.
42Delegator.py # Define base class for delegators (nim).
43EditorWindow.py # Define most of editor and utility functions.
44FileList.py # Open files and manage list of open windows (nim).
45FormatParagraph.py# Re-wrap multiline strings and comments.
46GrepDialog.py # Find all occurrences of pattern in multiple files.
47HyperParser.py # Parse code around a given index.
48IOBinding.py # Open, read, and write files
49IdleHistory.py # Get previous or next user input in shell (nim)
50MultiCall.py # Wrap tk widget to allow multiple calls per event (nim).
51MultiStatusBar.py # Define status bar for windows (nim).
52ObjectBrowser.py # Define class used in StackViewer (nim).
53OutputWindow.py # Create window for grep output.
54ParenMatch.py # Match fenceposts: (), [], and {}.
55PathBrowser.py # Create path browser window.
56Percolator.py # Manage delegator stack (nim).
57PyParse.py # Give information on code indentation
58PyShell.py # Start IDLE, manage shell, complete editor window
59RemoteDebugger.py # Debug code run in remote process.
60RemoteObjectBrowser.py # Communicate objects between processes with rpc (nim).
61ReplaceDialog.py # Search and replace pattern in text.
62RstripExtension.py# Strip trailing whitespace
63ScriptBinding.py # Check and run user code.
64ScrolledList.py # Define ScrolledList widget for IDLE (nim).
65SearchDialog.py # Search for pattern in text.
66SearchDialogBase.py # Define base for search, replace, and grep dialogs.
67SearchEngine.py # Define engine for all 3 search dialogs.
68StackViewer.py # View stack after exception.
69TreeWidget.py # Define tree widger, used in browsers (nim).
70UndoDelegator.py # Manage undo stack.
71WidgetRedirector.py # Intercept widget subcommands (for percolator) (nim).
72WindowList.py # Manage window list and define listed top level.
73ZoomHeight.py # Zoom window to full height of screen.
74aboutDialog.py # Display About IDLE dialog.
75configDialog.py # Display user configuration dialogs.
76configHandler.py # Load, fetch, and save configuration (nim).
77configHelpSourceEdit.py # Specify help source.
78configSectionNameDialog.py # Spefify user config section name
79dynOptionMenuWidget.py # define mutable OptionMenu widget (nim).
80help.py # Display IDLE's html doc.
81keybindingDialog.py # Change keybindings.
82macosxSupport.py # Help IDLE run on Macs (nim).
83rpc.py # Commuicate between idle and user processes (nim).
84run.py # Manage user code execution subprocess.
85tabbedpages.py # Define tabbed pages widget (nim).
86textView.py # Define read-only text widget (nim).
Kurt B. Kaiser18210562003-06-12 03:51:27 +000087
Terry Jan Reedyd4705272015-10-02 23:22:59 -040088Configuration
89-------------
90config-extensions.def # Defaults for extensions
91config-highlight.def # Defaults for colorizing
92config-keys.def # Defaults for key bindings
93config-main.def # Defai;ts fpr font and geneal
Kurt B. Kaisera7b804f2003-01-10 21:27:23 +000094
Terry Jan Reedyd4705272015-10-02 23:22:59 -040095Text
96----
97CREDITS.txt # not maintained, displayed by About IDLE
98HISTORY.txt # NEWS up to July 2001
99NEWS.txt # commits, displayed by About IDLE
100README.txt # this file, displeyed by About IDLE
101TODO.txt # needs review
102extend.txt # about writing extensions
103help.html # copy of idle.html in docs, displayed by IDLE Help
Kurt B. Kaisera7b804f2003-01-10 21:27:23 +0000104
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400105Subdirectories
106--------------
107Icons # small image files
108idle_test # files for human test and automated unit tests
109
110Unused and Deprecated files and objects (nim)
111---------------------------------------------
112EditorWindow.py: Helpdialog and helpDialog
113ToolTip.py: unused.
114help.txt
115idlever.py
116
117
118IDLE MENUS
119Top level items and most submenu items are defined in Bindings.
120Extenstions add submenu items when active. The names given are
121found, quoted, in one of these modules, paired with a '<<pseudoevent>>'.
122Each pseudoevent is bound to an event handler. Some event handlers
123call another function that does the actual work. The annotations below
124are intended to at least give the module where the actual work is done.
125
126File # IOBindig except as noted
127 New File
128 Open... # IOBinding.open
129 Open Module
130 Recent Files
131 Class Browser # Class Browser
132 Path Browser # Path Browser
133 ---
134 Save # IDBinding.save
135 Save As... # IOBinding.save_as
136 Save Copy As... # IOBindling.save_a_copy
137 ---
138 Print Window # IOBinding.print_window
139 ---
140 Close
141 Exit
142
143Edit
144 Undo # undoDelegator
145 Redo # undoDelegator
146 ---
147 Cut
148 Copy
149 Paste
150 Select All
151 --- # Next 5 items use SearchEngine; dialogs use SearchDialogBase
152 Find # Search Dialog
153 Find Again
154 Find Selection
155 Find in Files... # GrepDialog
156 Replace... # ReplaceDialog
157 Go to Line
158 Show Completions # AutoComplete extension and AutoCompleteWidow (&HP)
159 Expand Word # AutoExpand extension
160 Show call tip # Calltips extension and CalltipWindow (& Hyperparser)
161 Show surrounding parens # ParenMatch (& Hyperparser)
162
163Shell # PyShell
164 View Last Restart # PyShell.?
165 Restart Shell # PyShell.?
166
167Debug (Shell only)
168 Go to File/Line
169 Debugger # Debugger, RemoteDebugger
170 Stack Viewer # StackViewer
171 Auto-open Stack Viewer # StackViewer
172
173Format (Editor only)
174 Indent Region
175 Dedent Region
176 Comment Out Region
177 Uncomment Region
178 Tabify Region
179 Untabify Region
180 Toggle Tabs
181 New Indent Width
182 Format Paragraph # FormatParagraph extension
183 ---
184 Strip tailing whitespace # RstripExtension extension
185
186Run (Editor only)
187 Python Shell # PyShell
188 ---
189 Check Module # ScriptBinding
190 Run Module # ScriptBinding
191
192Options
193 Configure IDLE # configDialog
194 (tabs in the dialog)
195 Font tab # onfig-main.def
196 Highlight tab # configSectionNameDialog, config-highlight.def
197 Keys tab # keybindingDialog, configSectionNameDialog, onfig-keus.def
198 General tab # configHelpSourceEdit, config-main.def
199 Configure Extensions # configDialog
200 Xyz tab # xyz.py, config-extensions.def
201 ---
202 Code Context (editor only) # CodeContext extension
203
204Window
205 Zoomheight # ZoomHeight extension
206 ---
207 <open windows> # WindowList
208
209Help
210 About IDLE # aboutDialog
211 ---
212 IDLE Help # help
213 Python Doc
214 Turtle Demo
215 ---
216 <other help sources>
217
218<Context Menu> (right click)
219Defined in EditorWindow, PyShell, Output
220 Cut
221 Copy
222 Paste
223 ---
224 Go to file/line (shell and output only)
225 Set Breakpoint (editor only)
226 Clear Breakpoint (editor only)
227 Defined in Debugger
228 Go to source line
229 Show stack frame