On this page:
Dr  Racket Plugins

DrRacket Plugins

Robert Bruce Findler

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

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 and drscheme/tool libraries are for backward compatibility; they exports all of the bindings of their drracket counterpart.

    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

      6.1 Color Schemes

      6.2 General-purpose 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 Syntax Properties that Check Syntax Looks For

    9 Teaching Languages

    10 Signatures

    11 drracket:get/extend

    12 drracket:unit

    13 drracket:language

    14 drracket:language-configuration

    15 drracket:debug

    16 drracket:rep

    17 drracket:frame

    18 drracket:help-desk

    19 drracket:eval

    20 drracket:modes

    21 drracket:module-language-tools

    22 drracket:module-language

    23 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.