{"size": 1712, "ext": "scrbl", "max_stars_repo_path": "drracket/scribblings/tools/module-language.scrbl", "max_stars_repo_name": "rrthomas/drracket", "max_stars_repo_stars_event_min_datetime": "2015-01-12T19:40:39.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-26T19:27:24.000Z", "max_issues_repo_path": "drracket/scribblings/tools/module-language.scrbl", "max_issues_repo_name": "rrthomas/drracket", "max_issues_repo_issues_event_min_datetime": "2015-01-26T14:06:00.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-31T20:11:59.000Z", "max_forks_repo_path": "drracket/scribblings/tools/module-language.scrbl", "max_forks_repo_name": "rrthomas/drracket", "max_forks_repo_forks_event_min_datetime": "2015-02-17T19:17:11.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-14T10:07:02.000Z"}
{"max_stars_count": 453, "max_issues_count": 516, "max_forks_count": 111, "avg_line_length": 30.5714285714, "max_line_length": 79, "alphanum_fraction": 0.7091121495}
#lang scribble/doc
@(require "common.rkt")
@(tools-title "module-language")

@definterface[drracket:module-language:module-language<%> ()]{

The only language that implements this interface is DrRacket's ``Use
the language declared in the source'' language.

 @defmethod[(get-users-language-name) string]{
  Returns the name of the language that is declared in the source, as a string.
  }
}

@definterface[drracket:module-language-tools:definitions-text<%> ()]{
 @defmethod[(move-to-new-language) void?]{
  This method is called when a new language is evident in the
  definitions window (by editing the @litchar{#lang} line.
 }

 @defmethod[(get-in-module-language?) boolean?]{
  Returns @racket[#t] when the current language setting
  (from the language dialog) is ``The Racket Language''.
 }
  
}

@definterface[drracket:module-language-tools:tab<%> ()]{
  This interface signals an implementation of a tab
  that specially handles programs beginning with
  @litchar{#lang}.
}

@definterface[drracket:module-language-tools:frame<%> ()]{
  This interface signals an implementation of a frame
  that specially handles programs beginning with
  @litchar{#lang}.
}


@defmixin[drracket:module-language-tools:definitions-text-mixin
          (text:basic<%>
           racket:text<%>
           drracket:unit:definitions-text<%>)
          (drracket:module-language-tools:definitions-text<%>)]{}

@defmixin[drracket:module-language-tools:frame-mixin
          (drracket:unit:frame<%>)
          (drracket:module-language-tools:frame<%>)]{}

@defmixin[drracket:module-language-tools:tab-mixin
          (drracket:unit:tab<%>)
          (drracket:module-language-tools:tab<%>)]{}

@(tools-include "module-language")
