Version: 5.1.1

Plugins: Extending DrRacket

Robert Bruce Findler

;; indexing missing

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

This manual describes DrRacket’s plugins interface. It assumes familiarity with Racket, as described in the Guide: Racket, and the Reference: Racket, DrRacket, as described in DrRacket: Programming Environment, and the GUI library, as described in GUI: 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 Adding Module-based Languages to DrRacket

      2.2 Adding Arbitrary Languages to DrRacket

      2.3 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

    9 drracket:get/extend

    10 drracket:unit

    11 drracket:language

    12 drracket:language-configuration

    13 drracket:debug

    14 drracket:rep

    15 drracket:frame

    16 drracket:help-desk

    17 drracket:eval

    18 drracket:modes

    19 drracket:module-language-tools

    20 drracket:module-language

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