annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/idlelib/README.txt @ 68:5028fdace37b

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