DrRacket Plugins

Robert Bruce Findler

 (require drracket/tool-lib)
 (require drscheme/tool-lib)

This manual describes DrRacket’s plugins interface. It assumes familiarity with Racket, as described in the The Racket Guide, and the The Racket Reference, DrRacket, as described in DrRacket: The Racket Programming Environment, and the GUI library, as described in The Racket Graphical Interface Toolkit. The Framework, as described in Framework: Racket GUI Application Framework, may also come in handy.

The drscheme/tool-lib library is for backward compatibility; it exports all of the bindings of drracket/tool-lib.

    1 Implementing DrRacket Plugins

    2 Adding Languages to DrRacket

      2.1 #lang-based Languages in DrRacket

      2.2 Adding Module-based Languages to DrRacket

      2.3 Adding Arbitrary Languages to DrRacket

      2.4 Language Extensions

    3 Creating New Kinds of DrRacket Frames

    4 Extending the Existing DrRacket Classes

    5 Expanding the User’s Program Text and Breaking

    6 Editor Modes

    7 Language-Specific Capabilities

      7.1 Customizing DrRacket’s Behavior

      7.2 Customizing DrRacket’s GUI

    8 Check Syntax

      8.1 Accessing Check Syntax Programmatically

      8.2 Check Syntax Button

      8.3 Disappeared Uses and Bindings

    9 Teaching Languages

    10 drracket:get/extend

    11 drracket:unit

    12 drracket:language

    13 drracket:language-configuration

    14 drracket:debug

    15 drracket:rep

    16 drracket:frame

    17 drracket:help-desk

    18 drracket:eval

    19 drracket:modes

    20 drracket:module-language-tools

    21 drracket:module-language

    22 Backwards Compatibility



Thanks to PLT and the early adopters of the tools interface for their feedback and help.

A special thanks to Eli Barzilay, John Clements, Matthias Felleisen, Cormac Flanagan, Matthew Flatt, Max Hailperin, Philippe Meunier, and Christian Queinnec for their help being early clients for DrRacket plugins.