cpython/Lib/idlelib
Terry Jan Reedy 82ae15597f Issue #24759: Add test for IDLE syntax colorizoer. 2016-06-09 21:04:09 -04:00
..
Icons Issue #20406: Use Python application icons for Idle window title bars. 2014-02-08 09:02:26 -05:00
idle_test Issue #24759: Add test for IDLE syntax colorizoer. 2016-06-09 21:04:09 -04:00
CREDITS.txt Issue #25905: Specify 'ascii' encoding for README.txt and NEWS.txt. 2016-01-16 23:44:04 -05:00
ChangeLog Fix typos in comments, documentation and test method names 2016-05-08 13:48:10 +00:00
HISTORY.txt Removed unintentional trailing spaces in text files. 2015-03-29 19:12:58 +03:00
NEWS.txt Items for NEWS and idlelib/NEWS.txt. 2016-06-07 15:35:37 -04:00
README.txt Issue # 24225: Update idlelib.README.txt with new file names and event handlers. 2016-05-31 20:17:58 -04:00
TODO.txt Update for release 2003-06-01 01:11:14 +00:00
__init__.py Issue #24861: Add docstring to idlelib.__init__ with 'private' warning. 2015-09-21 01:44:06 -04:00
__main__.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
autocomplete.py Issue #27171: Merge typo fixes from 3.5 2016-06-02 10:11:18 +00:00
autocomplete_w.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
autoexpand.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
browser.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
calltip_w.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
calltips.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
codecontext.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
colorizer.py Issue #27117: Make colorizer htest and turtledemo work with dark theme. 2016-05-29 01:40:22 -04:00
config-extensions.def Issue #20577: move configuration of FormatParagraph extension to new extension 2014-12-16 03:21:26 -05:00
config-highlight.def Issue #24820: Add 'IDLE Dark' text color theme, warning, and solution. 2015-10-04 00:31:05 -04:00
config-keys.def Issue #12387: Add missing upper(lower)case versions of default Windows key 2014-06-12 01:03:08 -04:00
config-main.def Issue #25313: Change the handling of new built-in text color themes to better 2015-11-12 15:02:57 -05:00
config.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
config_help.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
config_key.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
config_sec.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
configdialog.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
debugger.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
debugger_r.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
debugobj.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
debugobj_r.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
delegator.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
dynoption.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
editor.py Issue #27156: Remove obsolete code not used by IDLE. 2016-05-30 01:59:42 -04:00
extend.txt Issue #17047: remove doubled words found in 2.7 to 3.4 Lib/*, 2013-03-11 17:57:08 -04:00
filelist.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
grep.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
help.html Clarify IDLE-console differences with respect to the sys module. 2016-05-02 18:30:02 -04:00
help.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
help_about.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
history.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
hyperparser.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
idle.bat Issue #17202: Add .bat to .hgeol to force them to CRLF. 2015-04-13 11:59:54 -05:00
idle.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
idle.pyw Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
iomenu.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
macosx.py Issue #27239: idlelib.macosx.isXyzTk functions initialize as needed. 2016-06-08 18:09:22 -04:00
mainmenu.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
multicall.py Issue #27171: Merge typo fixes from 3.5 2016-06-02 10:11:18 +00:00
outwin.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
paragraph.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
parenmatch.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
pathbrowser.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
percolator.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
pyparse.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
pyshell.py Issue #27262: move Aqua unbinding code, which enable context menus, to maxosx. 2016-06-08 14:37:05 -04:00
redirector.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
replace.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
rpc.py Issue #27171: Fix typos in documentation, comments, and test function names 2016-06-02 10:07:09 +00:00
rstrip.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
run.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
runscript.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
scrolledlist.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
search.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
searchbase.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
searchengine.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
stackviewer.py Issue #27156: Remove more unused idlelib code. 2016-06-05 21:32:45 -04:00
statusbar.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
tabbedpages.py Issue #21477: Idle htest: merge and modify run and runall; add many tests. 2014-05-24 18:48:18 -04:00
textview.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
tooltip.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
tree.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
undo.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00
windows.py Issue #24225: Rename many idlelib/*.py and idlelib/idle_test/test_*.py files. 2016-05-22 19:10:31 -04:00
zoomheight.py Issue #24225: Within idlelib files, update idlelib module names. 2016-05-28 13:22:31 -04:00

README.txt

README.txt: an index to idlelib files and the IDLE menu.

IDLE is Python's Integrated Development and Learning
Environment.  The user documentation is part of the Library Reference and
is available in IDLE by selecting Help => IDLE Help.  This README documents
idlelib for IDLE developers and curious users.

IDLELIB FILES lists files alphabetically by category,
with a short description of each.

IDLE MENU show the menu tree, annotated with the module
or module object that implements the corresponding function.

This file is descriptive, not prescriptive, and may have errors
and omissions and lag behind changes in idlelib.


IDLELIB FILES
Implemetation files not in IDLE MENU are marked (nim).
Deprecated files and objects are listed separately as the end.

Startup
-------
__init__.py  # import, does nothing
__main__.py  # -m, starts IDLE
idle.bat
idle.py
idle.pyw

Implementation
--------------
autocomplete.py   # Complete attribute names or filenames.
autocomplete_w.py # Display completions.
autoexpand.py     # Expand word with previous word in file.
browser.py        # Create module browser window.
calltip_w.py      # Display calltip.
calltips.py       # Create calltip text.
codecontext.py    # Show compound statement headers otherwise not visible.
colorizer.py      # Colorize text (nim)
config.py         # Load, fetch, and save configuration (nim).
configdialog.py   # Display user configuration dialogs.
config_help.py    # Specify help source in configdialog.
config_key.py     # Change keybindings.
config_sec.py     # Spefify user config section name
dynoption.py      # Define mutable OptionMenu widget (nim).
debugobj.py       # Define class used in stackviewer.
debugobj_r.py     # Communicate objects between processes with rpc (nim).
debugger.py       # Debug code run from shell or editor; show window.
debugger_r.py     # Debug code run in remote process.
delegator.py      # Define base class for delegators (nim).
editor.py         # Define most of editor and utility functions.
filelist.py       # Open files and manage list of open windows (nim).
grep.py           # Find all occurrences of pattern in multiple files.
help.py           # Display IDLE's html doc.
help_about.py     # Display About IDLE dialog.
history.py        # Get previous or next user input in shell (nim)
hyperparser.py    # Parse code around a given index.
iomenu.py         # Open, read, and write files
macosx.py         # Help IDLE run on Macs (nim).
mainmenu.py       # Define most of IDLE menu.
multicall.py      # Wrap tk widget to allow multiple calls per event (nim).
outwin.py         # Create window for grep output.
paragraph.py      # Re-wrap multiline strings and comments.
parenmatch.py     # Match fenceposts: (), [], and {}.
pathbrowser.py    # Create path browser window.
percolator.py     # Manage delegator stack (nim).
pyparse.py        # Give information on code indentation
pyshell.py        # Start IDLE, manage shell, complete editor window
redirector.py     # Intercept widget subcommands (for percolator) (nim).
replace.py        # Search and replace pattern in text.
rpc.py            # Commuicate between idle and user processes (nim).
rstrip.py         # Strip trailing whitespace.
run.py            # Manage user code execution subprocess.
runscript.py      # Check and run user code.
scrolledlist.py   # Define scrolledlist widget for IDLE (nim).
search.py         # Search for pattern in text.
searchbase.py     # Define base for search, replace, and grep dialogs.
searchengine.py   # Define engine for all 3 search dialogs.
stackviewer.py    # View stack after exception.
statusbar.py      # Define status bar for windows (nim).
tabbedpages.py    # Define tabbed pages widget (nim).
textview.py       # Define read-only text widget (nim).
tree.py           # Define tree widger, used in browsers (nim).
undo.py           # Manage undo stack.
windows.py        # Manage window list and define listed top level.
zoomheight.py     # Zoom window to full height of screen.

Configuration
-------------
config-extensions.def # Defaults for extensions
config-highlight.def  # Defaults for colorizing
config-keys.def       # Defaults for key bindings
config-main.def       # Defai;ts fpr font and geneal

Text
----
CREDITS.txt  # not maintained, displayed by About IDLE
HISTORY.txt  # NEWS up to July 2001
NEWS.txt     # commits, displayed by About IDLE
README.txt   # this file, displeyed by About IDLE
TODO.txt     # needs review
extend.txt   # about writing extensions
help.html    # copy of idle.html in docs, displayed by IDLE Help

Subdirectories
--------------
Icons        # small image files
idle_test    # files for human test and automated unit tests

Unused and Deprecated files and objects (nim)
---------------------------------------------
tooltip.py # unused



IDLE MENUS
Top level items and most submenu items are defined in mainmenu.
Extenstions add submenu items when active.  The names given are
found, quoted, in one of these modules, paired with a '<<pseudoevent>>'.
Each pseudoevent is bound to an event handler.  Some event handlers
call another function that does the actual work.  The annotations below
are intended to at least give the module where the actual work is done.
'eEW' = editor.EditorWindow

File
  New File         # eEW.new_callback
  Open...          # iomenu.open
  Open Module      # eEw.open_module
  Recent Files
  Class Browser    # eEW.open_class_browser, browser.ClassBrowser
  Path Browser     # eEW.open_path_browser, pathbrowser
  ---
  Save             # iomenu.save
  Save As...       # iomenu.save_as
  Save Copy As...  # iomenu.save_a_copy
  ---
  Print Window     # iomenu.print_window
  ---
  Close            # eEW.close_event
  Exit             # flist.close_all_callback (bound in eEW)

Edit
  Undo             # undodelegator
  Redo             # undodelegator
  ---              # eEW.right_menu_event
  Cut              # eEW.cut
  Copy             # eEW.copy
  Paste            # eEW.past
  Select All       # eEW.select_all (+ see eEW.remove_selection)
  ---              # Next 5 items use searchengine; dialogs use searchbase
  Find             # eEW.find_event, search.SearchDialog.find
  Find Again       # eEW.find_again_event, sSD.find_again
  Find Selection   # eEW.find_selection_event, sSD.find_selection
  Find in Files... # eEW.find_in_files_event, grep
  Replace...       # eEW.replace_event, replace.ReplaceDialog.replace
  Go to Line       # eEW.goto_line_event
  Show Completions # autocomplete extension and autocompleteWidow (&HP)
  Expand Word      # autoexpand extension
  Show call tip    # Calltips extension and CalltipWindow (& Hyperparser)
  Show surrounding parens  # parenmatch (& Hyperparser)

Shell  # pyshell
  View Last Restart# pyshell.?
  Restart Shell    # pyshell.?

Debug (Shell only)
  Go to File/Line
  debugger         # debugger, debugger_r
  Stack Viewer     # stackviewer
  Auto-open Stack Viewer  # stackviewer

Format (Editor only)
  Indent Region    # eEW.indent_region_event
  Dedent Region    # eEW.dedent_region_event
  Comment Out Reg. # eEW.comment_region_event
  Uncomment Region # eEW.uncomment_region_event
  Tabify Region    # eEW.tabify_region_event
  Untabify Region  # eEW.untabify_region_event
  Toggle Tabs      # eEW.toggle_tabs_event
  New Indent Width # eEW.change_indentwidth_event
  Format Paragraph # paragraph extension
  ---
  Strip tailing whitespace  # rstrip extension

Run (Editor only)
  Python Shell     # pyshell
  ---
  Check Module     # runscript
  Run Module       # runscript

Options
  Configure IDLE   # eEW.config_dialog, configdialog
    (tabs in the dialog)
    Font tab       # config-main.def
    Highlight tab  # config_sec, config-highlight.def
    Keys tab       # config_key, configconfig_secg-keus.def
    General tab    # config_help, config-main.def
    Extensions tab # config-extensions.def, corresponding .py
  ---
  Code Context (ed)# codecontext extension

Window
  Zoomheight       # zoomheight extension
  ---
  <open windows>   # windows

Help
  About IDLE       # eEW.about_dialog, help_about.AboutDialog 
  ---
  IDLE Help        # eEW.help_dialog, helpshow_idlehelp
  Python Doc       # eEW.python_docs
  Turtle Demo      # eEW.open_turtle_demo
  ---
  <other help sources>

<Context Menu> (right click)
  Defined in editor, PyShelpyshellut
    Cut
    Copy
    Paste
    ---
    Go to file/line (shell and output only)
    Set Breakpoint (editor only)
    Clear Breakpoint (editor only)
  Defined in debugger
    Go to source line
    Show stack frame

<No menu>
Center Insert      # eEW.center_insert_event