blob: d333b47633ed3974311b25951aae4ff6f512c379 [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--------------
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040032autocomplete.py # Complete attribute names or filenames.
33autocomplete_w.py # Display completions.
34autoexpand.py # Expand word with previous word in file.
35browser.py # Create module browser window.
36calltip_w.py # Display calltip.
37calltips.py # Create calltip text.
38codecontext.py # Show compound statement headers otherwise not visible.
39colorizer.py # Colorize text (nim)
40config.py # Load, fetch, and save configuration (nim).
41configdialog.py # Display user configuration dialogs.
42config_help.py # Specify help source in configdialog.
43config_key.py # Change keybindings.
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040044dynoption.py # Define mutable OptionMenu widget (nim).
45debugobj.py # Define class used in stackviewer.
46debugobj_r.py # Communicate objects between processes with rpc (nim).
47debugger.py # Debug code run from shell or editor; show window.
48debugger_r.py # Debug code run in remote process.
49delegator.py # Define base class for delegators (nim).
50editor.py # Define most of editor and utility functions.
51filelist.py # Open files and manage list of open windows (nim).
52grep.py # Find all occurrences of pattern in multiple files.
Terry Jan Reedyd4705272015-10-02 23:22:59 -040053help.py # Display IDLE's html doc.
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040054help_about.py # Display About IDLE dialog.
55history.py # Get previous or next user input in shell (nim)
56hyperparser.py # Parse code around a given index.
57iomenu.py # Open, read, and write files
58macosx.py # Help IDLE run on Macs (nim).
59mainmenu.py # Define most of IDLE menu.
60multicall.py # Wrap tk widget to allow multiple calls per event (nim).
61outwin.py # Create window for grep output.
62paragraph.py # Re-wrap multiline strings and comments.
63parenmatch.py # Match fenceposts: (), [], and {}.
64pathbrowser.py # Create path browser window.
65percolator.py # Manage delegator stack (nim).
66pyparse.py # Give information on code indentation
67pyshell.py # Start IDLE, manage shell, complete editor window
Terry Jan Reedy0cd6b972016-07-03 19:11:13 -040068query.py # Query user for informtion
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040069redirector.py # Intercept widget subcommands (for percolator) (nim).
70replace.py # Search and replace pattern in text.
Terry Jan Reedyd4705272015-10-02 23:22:59 -040071rpc.py # Commuicate between idle and user processes (nim).
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040072rstrip.py # Strip trailing whitespace.
Terry Jan Reedyd4705272015-10-02 23:22:59 -040073run.py # Manage user code execution subprocess.
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040074runscript.py # Check and run user code.
75scrolledlist.py # Define scrolledlist widget for IDLE (nim).
76search.py # Search for pattern in text.
77searchbase.py # Define base for search, replace, and grep dialogs.
78searchengine.py # Define engine for all 3 search dialogs.
79stackviewer.py # View stack after exception.
80statusbar.py # Define status bar for windows (nim).
Terry Jan Reedyd4705272015-10-02 23:22:59 -040081tabbedpages.py # Define tabbed pages widget (nim).
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -040082textview.py # Define read-only text widget (nim).
83tree.py # Define tree widger, used in browsers (nim).
84undo.py # Manage undo stack.
85windows.py # Manage window list and define listed top level.
86zoomheight.py # Zoom window to full height of screen.
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--------------
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400107Icons # small image files
108idle_test # files for human test and automated unit tests
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400109
110Unused and Deprecated files and objects (nim)
111---------------------------------------------
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400112tooltip.py # unused
113
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400114
115
116IDLE MENUS
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400117Top level items and most submenu items are defined in mainmenu.
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400118Extenstions add submenu items when active. The names given are
119found, quoted, in one of these modules, paired with a '<<pseudoevent>>'.
120Each pseudoevent is bound to an event handler. Some event handlers
121call another function that does the actual work. The annotations below
122are intended to at least give the module where the actual work is done.
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400123'eEW' = editor.EditorWindow
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400124
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400125File
126 New File # eEW.new_callback
127 Open... # iomenu.open
128 Open Module # eEw.open_module
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400129 Recent Files
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400130 Class Browser # eEW.open_class_browser, browser.ClassBrowser
131 Path Browser # eEW.open_path_browser, pathbrowser
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400132 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400133 Save # iomenu.save
134 Save As... # iomenu.save_as
135 Save Copy As... # iomenu.save_a_copy
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400136 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400137 Print Window # iomenu.print_window
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400138 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400139 Close # eEW.close_event
140 Exit # flist.close_all_callback (bound in eEW)
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400141
142Edit
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400143 Undo # undodelegator
144 Redo # undodelegator
145 --- # eEW.right_menu_event
146 Cut # eEW.cut
147 Copy # eEW.copy
148 Paste # eEW.past
149 Select All # eEW.select_all (+ see eEW.remove_selection)
150 --- # Next 5 items use searchengine; dialogs use searchbase
151 Find # eEW.find_event, search.SearchDialog.find
152 Find Again # eEW.find_again_event, sSD.find_again
153 Find Selection # eEW.find_selection_event, sSD.find_selection
154 Find in Files... # eEW.find_in_files_event, grep
155 Replace... # eEW.replace_event, replace.ReplaceDialog.replace
156 Go to Line # eEW.goto_line_event
157 Show Completions # autocomplete extension and autocompleteWidow (&HP)
158 Expand Word # autoexpand extension
159 Show call tip # Calltips extension and CalltipWindow (& Hyperparser)
160 Show surrounding parens # parenmatch (& Hyperparser)
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400161
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400162Shell # pyshell
163 View Last Restart# pyshell.?
164 Restart Shell # pyshell.?
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400165
166Debug (Shell only)
167 Go to File/Line
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400168 debugger # debugger, debugger_r
169 Stack Viewer # stackviewer
170 Auto-open Stack Viewer # stackviewer
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400171
172Format (Editor only)
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400173 Indent Region # eEW.indent_region_event
174 Dedent Region # eEW.dedent_region_event
175 Comment Out Reg. # eEW.comment_region_event
176 Uncomment Region # eEW.uncomment_region_event
177 Tabify Region # eEW.tabify_region_event
178 Untabify Region # eEW.untabify_region_event
179 Toggle Tabs # eEW.toggle_tabs_event
180 New Indent Width # eEW.change_indentwidth_event
181 Format Paragraph # paragraph extension
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400182 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400183 Strip tailing whitespace # rstrip extension
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400184
185Run (Editor only)
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400186 Python Shell # pyshell
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400187 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400188 Check Module # runscript
189 Run Module # runscript
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400190
191Options
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400192 Configure IDLE # eEW.config_dialog, configdialog
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400193 (tabs in the dialog)
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400194 Font tab # config-main.def
Terry Jan Reedy0cd6b972016-07-03 19:11:13 -0400195 Highlight tab # query, config-highlight.def
196 Keys tab # query, config_key, config_keys.def
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400197 General tab # config_help, config-main.def
198 Extensions tab # config-extensions.def, corresponding .py
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400199 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400200 Code Context (ed)# codecontext extension
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400201
202Window
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400203 Zoomheight # zoomheight extension
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400204 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400205 <open windows> # windows
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400206
207Help
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400208 About IDLE # eEW.about_dialog, help_about.AboutDialog
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400209 ---
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400210 IDLE Help # eEW.help_dialog, helpshow_idlehelp
211 Python Doc # eEW.python_docs
212 Turtle Demo # eEW.open_turtle_demo
Terry Jan Reedyd4705272015-10-02 23:22:59 -0400213 ---
214 <other help sources>
215
216<Context Menu> (right click)
Terry Jan Reedyd80ab7d2016-05-31 20:17:58 -0400217 Defined in editor, PyShelpyshellut
218 Cut
219 Copy
220 Paste
221 ---
222 Go to file/line (shell and output only)
223 Set Breakpoint (editor only)
224 Clear Breakpoint (editor only)
225 Defined in debugger
226 Go to source line
227 Show stack frame
228
229<No menu>
230Center Insert # eEW.center_insert_event
231