annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/idlelib/README.txt @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 README.txt: an index to idlelib files and the IDLE menu.
jpayne@69 2
jpayne@69 3 IDLE is Python's Integrated Development and Learning
jpayne@69 4 Environment. The user documentation is part of the Library Reference and
jpayne@69 5 is available in IDLE by selecting Help => IDLE Help. This README documents
jpayne@69 6 idlelib for IDLE developers and curious users.
jpayne@69 7
jpayne@69 8 IDLELIB FILES lists files alphabetically by category,
jpayne@69 9 with a short description of each.
jpayne@69 10
jpayne@69 11 IDLE MENU show the menu tree, annotated with the module
jpayne@69 12 or module object that implements the corresponding function.
jpayne@69 13
jpayne@69 14 This file is descriptive, not prescriptive, and may have errors
jpayne@69 15 and omissions and lag behind changes in idlelib.
jpayne@69 16
jpayne@69 17
jpayne@69 18 IDLELIB FILES
jpayne@69 19 Implementation files not in IDLE MENU are marked (nim).
jpayne@69 20 Deprecated files and objects are listed separately as the end.
jpayne@69 21
jpayne@69 22 Startup
jpayne@69 23 -------
jpayne@69 24 __init__.py # import, does nothing
jpayne@69 25 __main__.py # -m, starts IDLE
jpayne@69 26 idle.bat
jpayne@69 27 idle.py
jpayne@69 28 idle.pyw
jpayne@69 29
jpayne@69 30 Implementation
jpayne@69 31 --------------
jpayne@69 32 autocomplete.py # Complete attribute names or filenames.
jpayne@69 33 autocomplete_w.py # Display completions.
jpayne@69 34 autoexpand.py # Expand word with previous word in file.
jpayne@69 35 browser.py # Create module browser window.
jpayne@69 36 calltip_w.py # Display calltip.
jpayne@69 37 calltips.py # Create calltip text.
jpayne@69 38 codecontext.py # Show compound statement headers otherwise not visible.
jpayne@69 39 colorizer.py # Colorize text (nim)
jpayne@69 40 config.py # Load, fetch, and save configuration (nim).
jpayne@69 41 configdialog.py # Display user configuration dialogs.
jpayne@69 42 config_help.py # Specify help source in configdialog.
jpayne@69 43 config_key.py # Change keybindings.
jpayne@69 44 dynoption.py # Define mutable OptionMenu widget (nim).
jpayne@69 45 debugobj.py # Define class used in stackviewer.
jpayne@69 46 debugobj_r.py # Communicate objects between processes with rpc (nim).
jpayne@69 47 debugger.py # Debug code run from shell or editor; show window.
jpayne@69 48 debugger_r.py # Debug code run in remote process.
jpayne@69 49 delegator.py # Define base class for delegators (nim).
jpayne@69 50 editor.py # Define most of editor and utility functions.
jpayne@69 51 filelist.py # Open files and manage list of open windows (nim).
jpayne@69 52 grep.py # Find all occurrences of pattern in multiple files.
jpayne@69 53 help.py # Display IDLE's html doc.
jpayne@69 54 help_about.py # Display About IDLE dialog.
jpayne@69 55 history.py # Get previous or next user input in shell (nim)
jpayne@69 56 hyperparser.py # Parse code around a given index.
jpayne@69 57 iomenu.py # Open, read, and write files
jpayne@69 58 macosx.py # Help IDLE run on Macs (nim).
jpayne@69 59 mainmenu.py # Define most of IDLE menu.
jpayne@69 60 multicall.py # Wrap tk widget to allow multiple calls per event (nim).
jpayne@69 61 outwin.py # Create window for grep output.
jpayne@69 62 paragraph.py # Re-wrap multiline strings and comments.
jpayne@69 63 parenmatch.py # Match fenceposts: (), [], and {}.
jpayne@69 64 pathbrowser.py # Create path browser window.
jpayne@69 65 percolator.py # Manage delegator stack (nim).
jpayne@69 66 pyparse.py # Give information on code indentation
jpayne@69 67 pyshell.py # Start IDLE, manage shell, complete editor window
jpayne@69 68 query.py # Query user for information
jpayne@69 69 redirector.py # Intercept widget subcommands (for percolator) (nim).
jpayne@69 70 replace.py # Search and replace pattern in text.
jpayne@69 71 rpc.py # Communicate between idle and user processes (nim).
jpayne@69 72 rstrip.py # Strip trailing whitespace.
jpayne@69 73 run.py # Manage user code execution subprocess.
jpayne@69 74 runscript.py # Check and run user code.
jpayne@69 75 scrolledlist.py # Define scrolledlist widget for IDLE (nim).
jpayne@69 76 search.py # Search for pattern in text.
jpayne@69 77 searchbase.py # Define base for search, replace, and grep dialogs.
jpayne@69 78 searchengine.py # Define engine for all 3 search dialogs.
jpayne@69 79 stackviewer.py # View stack after exception.
jpayne@69 80 statusbar.py # Define status bar for windows (nim).
jpayne@69 81 tabbedpages.py # Define tabbed pages widget (nim).
jpayne@69 82 textview.py # Define read-only text widget (nim).
jpayne@69 83 tree.py # Define tree widget, used in browsers (nim).
jpayne@69 84 undo.py # Manage undo stack.
jpayne@69 85 windows.py # Manage window list and define listed top level.
jpayne@69 86 zoomheight.py # Zoom window to full height of screen.
jpayne@69 87
jpayne@69 88 Configuration
jpayne@69 89 -------------
jpayne@69 90 config-extensions.def # Defaults for extensions
jpayne@69 91 config-highlight.def # Defaults for colorizing
jpayne@69 92 config-keys.def # Defaults for key bindings
jpayne@69 93 config-main.def # Defai;ts fpr font and geneal
jpayne@69 94
jpayne@69 95 Text
jpayne@69 96 ----
jpayne@69 97 CREDITS.txt # not maintained, displayed by About IDLE
jpayne@69 98 HISTORY.txt # NEWS up to July 2001
jpayne@69 99 NEWS.txt # commits, displayed by About IDLE
jpayne@69 100 README.txt # this file, displayed by About IDLE
jpayne@69 101 TODO.txt # needs review
jpayne@69 102 extend.txt # about writing extensions
jpayne@69 103 help.html # copy of idle.html in docs, displayed by IDLE Help
jpayne@69 104
jpayne@69 105 Subdirectories
jpayne@69 106 --------------
jpayne@69 107 Icons # small image files
jpayne@69 108 idle_test # files for human test and automated unit tests
jpayne@69 109
jpayne@69 110 Unused and Deprecated files and objects (nim)
jpayne@69 111 ---------------------------------------------
jpayne@69 112 tooltip.py # unused
jpayne@69 113
jpayne@69 114
jpayne@69 115
jpayne@69 116 IDLE MENUS
jpayne@69 117 Top level items and most submenu items are defined in mainmenu.
jpayne@69 118 Extensions add submenu items when active. The names given are
jpayne@69 119 found, quoted, in one of these modules, paired with a '<<pseudoevent>>'.
jpayne@69 120 Each pseudoevent is bound to an event handler. Some event handlers
jpayne@69 121 call another function that does the actual work. The annotations below
jpayne@69 122 are intended to at least give the module where the actual work is done.
jpayne@69 123 'eEW' = editor.EditorWindow
jpayne@69 124
jpayne@69 125 File
jpayne@69 126 New File # eEW.new_callback
jpayne@69 127 Open... # iomenu.open
jpayne@69 128 Open Module # eEw.open_module
jpayne@69 129 Recent Files
jpayne@69 130 Class Browser # eEW.open_class_browser, browser.ClassBrowser
jpayne@69 131 Path Browser # eEW.open_path_browser, pathbrowser
jpayne@69 132 ---
jpayne@69 133 Save # iomenu.save
jpayne@69 134 Save As... # iomenu.save_as
jpayne@69 135 Save Copy As... # iomenu.save_a_copy
jpayne@69 136 ---
jpayne@69 137 Print Window # iomenu.print_window
jpayne@69 138 ---
jpayne@69 139 Close # eEW.close_event
jpayne@69 140 Exit # flist.close_all_callback (bound in eEW)
jpayne@69 141
jpayne@69 142 Edit
jpayne@69 143 Undo # undodelegator
jpayne@69 144 Redo # undodelegator
jpayne@69 145 --- # eEW.right_menu_event
jpayne@69 146 Cut # eEW.cut
jpayne@69 147 Copy # eEW.copy
jpayne@69 148 Paste # eEW.past
jpayne@69 149 Select All # eEW.select_all (+ see eEW.remove_selection)
jpayne@69 150 --- # Next 5 items use searchengine; dialogs use searchbase
jpayne@69 151 Find # eEW.find_event, search.SearchDialog.find
jpayne@69 152 Find Again # eEW.find_again_event, sSD.find_again
jpayne@69 153 Find Selection # eEW.find_selection_event, sSD.find_selection
jpayne@69 154 Find in Files... # eEW.find_in_files_event, grep
jpayne@69 155 Replace... # eEW.replace_event, replace.ReplaceDialog.replace
jpayne@69 156 Go to Line # eEW.goto_line_event
jpayne@69 157 Show Completions # autocomplete extension and autocompleteWidow (&HP)
jpayne@69 158 Expand Word # autoexpand extension
jpayne@69 159 Show call tip # Calltips extension and CalltipWindow (& Hyperparser)
jpayne@69 160 Show surrounding parens # parenmatch (& Hyperparser)
jpayne@69 161
jpayne@69 162 Shell # pyshell
jpayne@69 163 View Last Restart # pyshell.PyShell.view_restart_mark
jpayne@69 164 Restart Shell # pyshell.PyShell.restart_shell
jpayne@69 165 Interrupt Execution # pyshell.PyShell.cancel_callback
jpayne@69 166
jpayne@69 167 Debug (Shell only)
jpayne@69 168 Go to File/Line
jpayne@69 169 debugger # debugger, debugger_r, PyShell.toggle_debugger
jpayne@69 170 Stack Viewer # stackviewer, PyShell.open_stack_viewer
jpayne@69 171 Auto-open Stack Viewer # stackviewer
jpayne@69 172
jpayne@69 173 Format (Editor only)
jpayne@69 174 Indent Region # eEW.indent_region_event
jpayne@69 175 Dedent Region # eEW.dedent_region_event
jpayne@69 176 Comment Out Reg. # eEW.comment_region_event
jpayne@69 177 Uncomment Region # eEW.uncomment_region_event
jpayne@69 178 Tabify Region # eEW.tabify_region_event
jpayne@69 179 Untabify Region # eEW.untabify_region_event
jpayne@69 180 Toggle Tabs # eEW.toggle_tabs_event
jpayne@69 181 New Indent Width # eEW.change_indentwidth_event
jpayne@69 182 Format Paragraph # paragraph extension
jpayne@69 183 ---
jpayne@69 184 Strip tailing whitespace # rstrip extension
jpayne@69 185
jpayne@69 186 Run (Editor only)
jpayne@69 187 Python Shell # pyshell
jpayne@69 188 ---
jpayne@69 189 Check Module # runscript
jpayne@69 190 Run Module # runscript
jpayne@69 191
jpayne@69 192 Options
jpayne@69 193 Configure IDLE # eEW.config_dialog, configdialog
jpayne@69 194 (tabs in the dialog)
jpayne@69 195 Font tab # config-main.def
jpayne@69 196 Highlight tab # query, config-highlight.def
jpayne@69 197 Keys tab # query, config_key, config_keys.def
jpayne@69 198 General tab # config_help, config-main.def
jpayne@69 199 Extensions tab # config-extensions.def, corresponding .py
jpayne@69 200 ---
jpayne@69 201 Code Context (ed)# codecontext extension
jpayne@69 202
jpayne@69 203 Window
jpayne@69 204 Zoomheight # zoomheight extension
jpayne@69 205 ---
jpayne@69 206 <open windows> # windows
jpayne@69 207
jpayne@69 208 Help
jpayne@69 209 About IDLE # eEW.about_dialog, help_about.AboutDialog
jpayne@69 210 ---
jpayne@69 211 IDLE Help # eEW.help_dialog, helpshow_idlehelp
jpayne@69 212 Python Doc # eEW.python_docs
jpayne@69 213 Turtle Demo # eEW.open_turtle_demo
jpayne@69 214 ---
jpayne@69 215 <other help sources>
jpayne@69 216
jpayne@69 217 <Context Menu> (right click)
jpayne@69 218 Defined in editor, PyShelpyshellut
jpayne@69 219 Cut
jpayne@69 220 Copy
jpayne@69 221 Paste
jpayne@69 222 ---
jpayne@69 223 Go to file/line (shell and output only)
jpayne@69 224 Set Breakpoint (editor only)
jpayne@69 225 Clear Breakpoint (editor only)
jpayne@69 226 Defined in debugger
jpayne@69 227 Go to source line
jpayne@69 228 Show stack frame
jpayne@69 229
jpayne@69 230 <No menu>
jpayne@69 231 Center Insert # eEW.center_insert_event
jpayne@69 232
jpayne@69 233
jpayne@69 234 CODE STYLE -- Generally PEP 8.
jpayne@69 235
jpayne@69 236 import
jpayne@69 237 ------
jpayne@69 238 Put import at the top, unless there is a good reason otherwise.
jpayne@69 239 PEP 8 says to group stdlib, 3rd-party dependencies, and package imports.
jpayne@69 240 For idlelib, the groups are general stdlib, tkinter, and idlelib.
jpayne@69 241 Sort modules within each group, except that tkinter.ttk follows tkinter.
jpayne@69 242 Sort 'from idlelib import mod1' and 'from idlelib.mod2 import object'
jpayne@69 243 together by module, ignoring within module objects.
jpayne@69 244 Put 'import __main__' after other idlelib imports.
jpayne@69 245
jpayne@69 246 Imports only needed for testing are put not at the top but in an
jpayne@69 247 htest function def or "if __name__ == '__main__'" clause.
jpayne@69 248
jpayne@69 249 Within module imports like "from idlelib.mod import class" may cause
jpayne@69 250 circular imports to deadlock. Even without this, circular imports may
jpayne@69 251 require at least one of the imports to be delayed until a function call.