On this page:
drracket:  module-language:  module-language<%>
get-users-language-name
drracket:  module-language-tools:  definitions-text<%>
move-to-new-language
get-in-module-language?
drracket:  module-language-tools:  tab<%>
drracket:  module-language-tools:  frame<%>
drracket:  module-language-tools:  definitions-text-mixin
drracket:  module-language-tools:  frame-mixin
drracket:  module-language-tools:  tab-mixin
drracket:  module-language:  add-module-language
drracket:  module-language:  module-language-put-file-mixin

24 drracket:module-language

The only language that implements this interface is DrRacket’s “Use the language declared in the source” language.

method

(send a-drracket:module-language:module-language get-users-language-name)

  string
Returns the name of the language that is declared in the source, as a string.

method

(send a-drracket:module-language-tools:definitions-text move-to-new-language)

  void?
This method is called when a new language is evident in the definitions window (by editing the #lang line.

method

(send a-drracket:module-language-tools:definitions-text get-in-module-language?)

  boolean?
Returns #t when the current language setting (from the language dialog) is “The Racket Language”.

This interface signals an implementation of a tab that specially handles programs beginning with #lang.

This interface signals an implementation of a frame that specially handles programs beginning with #lang.

mixin

drracket:module-language-tools:frame-mixin : (class? . -> . class?)

  argument extends/implements: drracket:unit:frame<%>
  result implements: drracket:module-language-tools:frame<%>

mixin

drracket:module-language-tools:tab-mixin : (class? . -> . class?)

  argument extends/implements: drracket:unit:tab<%>
  result implements: drracket:module-language-tools:tab<%>

Adds the module language to DrRacket. This is called during DrRacket’s startup.
Extends super% by overriding the put-file method to use a default name from the buffer, if the buffer contains something like (module name ...).