#lang racket/base (require racket/unit) (provide drracket:eval^ drracket:debug^ drracket:module-language^ drracket:module-language/int^ drracket:module-language-tools^ drracket:get-collection^ drracket:main^ drracket:init^ drracket:language-configuration^ drracket:language-configuration/internal^ drracket:tools^ drracket:tools-drs^ drracket:get/extend^ drracket:unit^ drracket:frame^ drracket:program^ drracket:text^ drracket:rep^ drracket:app^ drracket:draw-arrow^ drracket:help-desk^ drracket:language^ drracket:multi-file-search^ drracket:module-overview^ drracket:font^ drracket:modes^ drracket:tracing^ drracket:tool-exports^ drracket:tool^ drracket:tool-cm^ drscheme:tool^ drscheme:tool-cm^ drracket:interface^) (define-signature drracket:modes-cm^ ()) (define-signature drracket:modes^ extends drracket:modes-cm^ (add-mode get-modes add-initial-modes make-mode (struct mode (name surrogate repl-submit matches-language) #:omit-constructor))) (define-signature drracket:font-cm^ ()) (define-signature drracket:font^ extends drracket:font-cm^ (setup-preferences)) (define-signature drracket:debug-cm^ (profile-definitions-text-mixin profile-tab-mixin profile-unit-frame-mixin test-coverage-interactions-text-mixin test-coverage-definitions-text-mixin test-coverage-tab-mixin)) (define-signature drracket:debug^ extends drracket:debug-cm^ (make-debug-error-display-handler make-debug-eval-handler error-display-handler/stacktrace bug-info->ticket-url test-coverage-enabled profiling-enabled add-prefs-panel get-error-color hide-backtrace-window show-backtrace-window show-backtrace-window/edition-pairs show-backtrace-window/edition-pairs/two open-and-highlight-in-file small-planet-bitmap srcloc->edition/pair test-coverage-on-style-name test-coverage-off-style-name ;show-error-and-highlight ;print-bug-to-stderr ;display-srclocs-in-error ;show-syntax-error-context )) (define-signature drracket:module-language-cm^ (module-language<%>)) (define-signature drracket:module-language^ extends drracket:module-language-cm^ (add-module-language module-language-put-file-mixin)) (define-signature drracket:module-language/int^ extends drracket:module-language^ (module-language-online-expand-text-mixin module-language-online-expand-frame-mixin module-language-online-expand-tab-mixin initialize-prefs-panel)) (define-signature drracket:module-language-tools-cm^ (frame-mixin tab-mixin definitions-text-mixin)) (define-signature drracket:module-language-tools^ extends drracket:module-language-tools-cm^ (add-opt-out-toolbar-button add-online-expansion-handler ;; the below should be hidden from tools (struct online-expansion-handler (mod-path id local-handler)) get-online-expansion-handlers no-more-online-expansion-handlers)) (define-signature drracket:get-collection-cm^ ()) (define-signature drracket:get-collection^ extends drracket:get-collection-cm^ (get-file/collection)) (define-signature drracket:main-cm^ ()) (define-signature drracket:main^ extends drracket:main-cm^ ()) (define-signature drracket:init-cm^ ()) (define-signature drracket:init^ extends drracket:init-cm^ (original-output-port original-error-port original-error-display-handler primitive-eval primitive-load error-display-handler-message-box-title system-logger system-custodian system-eventspace system-namespace system-security-guard first-dir)) (define-signature drracket:language-configuration-cm^ ()) (define-signature drracket:language-configuration^ extends drracket:language-configuration-cm^ (add-language get-languages (struct language-settings (language settings)) make-language-settings get-settings-preferences-symbol language-dialog fill-language-dialog)) (define-signature drracket:language-configuration/internal^ extends drracket:language-configuration^ (add-info-specified-languages get-default-language-settings settings-preferences-symbol get-all-scheme-manual-keywords get-all-manual-keywords add-built-in-languages not-a-language-language<%>)) (define-signature drracket:tools-cm^ ()) (define-signature drracket:tools^ extends drracket:tools-cm^ ((struct successful-tool (spec bitmap name url)) make-successful-tool get-successful-tools only-in-phase load/invoke-all-tools add-prefs-panel)) (define-signature drracket:tools-drs-cm^ ()) (define-signature drracket:tools-drs^ extends drracket:tools-drs-cm^ (invoke-drs-tool)) (define-signature drracket:get/extend-cm^ ()) (define-signature drracket:get/extend^ extends drracket:get/extend-cm^ (extend-tab extend-interactions-text extend-definitions-text extend-interactions-canvas extend-definitions-canvas extend-unit-frame get-tab get-interactions-text get-definitions-text get-interactions-canvas get-definitions-canvas get-unit-frame)) (define-signature drracket:unit-cm^ (tab% frame% definitions-canvas% get-definitions-text% interactions-canvas%)) (define-signature drracket:unit^ extends drracket:unit-cm^ (open-drscheme-window find-symbol get-program-editor-mixin add-to-program-editor-mixin forget-saved-bug-report record-saved-bug-report (struct teachpack-callbacks (get-names remove add)) make-teachpack-callbacks add-search-help-desk-menu-item)) (define-signature drracket:frame-cm^ (mixin basics-mixin)) (define-signature drracket:frame^ extends drracket:frame-cm^ (create-root-menubar add-keybindings-item planet-spec?)) (define-signature drracket:program-cm^ (frame%)) (define-signature drracket:program^ extends drracket:program-cm^ ()) (define-signature drracket:eval-cm^ ()) (define-signature drracket:eval^ extends drracket:eval-cm^ (expand-program expand-program/multiple traverse-program/multiple build-user-eventspace/custodian set-basic-parameters get-snip-classes)) (define-signature drracket:text-cm^ (text<%> text%)) (define-signature drracket:text^ extends drracket:text-cm^ ()) (define-signature drracket:setup-cm^ ()) (define-signature drracket:setup^ extends drracket:setup-cm^ (do-setup)) (define-signature drracket:rep-cm^ (drs-bindings-keymap-mixin text% text<%>)) (define-signature drracket:rep^ extends drracket:rep-cm^ (current-rep current-language-settings current-value-port after-expression get-drs-bindings-keymap error-delta get-welcome-delta get-dark-green-delta drs-autocomplete-mixin)) (define-signature drracket:app-cm^ ()) (define-signature drracket:app^ extends drracket:app-cm^ (about-drscheme add-language-items-to-help-menu add-important-urls-to-help-menu switch-language-to)) (define-signature drracket:draw-arrow-cm^ ()) (define-signature drracket:draw-arrow^ extends drracket:draw-arrow-cm^ (draw-arrow)) (define-signature drracket:help-desk-cm^ ()) (define-signature drracket:help-desk^ extends drracket:help-desk-cm^ (help-desk goto-plt-license get-docs)) (define-signature drracket:language-cm^ (language<%> module-based-language<%> simple-module-based-language<%> simple-module-based-language% simple-module-based-language->module-based-language-mixin module-based-language->language-mixin)) (define-signature drracket:language^ extends drracket:language-cm^ (get-default-mixin extend-language-interface get-language-extensions create-module-based-launcher create-module-based-stand-alone-executable create-module-based-distribution create-distribution-for-executable create-executable-gui put-executable ;(struct loc (source position line column span)) make-text/pos (struct text/pos (text start end)) make-simple-settings (struct simple-settings (case-sensitive printing-style fraction-style show-sharing insert-newlines annotations)) simple-settings->vector simple-module-based-language-config-panel simple-module-based-language-convert-value setup-printing-parameters make-setup-printing-parameters add-snip-value setup-setup-values register-capability capability-registered? get-capability-default get-capability-contract)) (define-signature drracket:multi-file-search-cm^ ()) (define-signature drracket:multi-file-search^ extends drracket:multi-file-search-cm^ (multi-file-search search-type-params search-types)) (define-signature drracket:module-overview-cm^ ()) (define-signature drracket:module-overview^ extends drracket:module-overview-cm^ (module-overview module-overview/file make-module-overview-pasteboard fill-pasteboard)) (define-signature drracket:tracing-cm^ (tab-mixin frame-mixin)) (define-signature drracket:tracing^ extends drracket:tracing-cm^ (annotate)) (define-signature drracket:interface^ (frame:basics<%> frame:<%> unit:frame<%> unit:definitions-text<%> unit:tab<%> rep:context<%> module-language-tools:definitions-text<%> module-language-tools:tab<%> module-language-tools:frame<%>)) (define-signature drracket:tool-exports-cm^ ()) (define-signature drracket:tool-exports^ extends drracket:tool-exports-cm^ (phase1 phase2)) (define-signature no-prefix:tool-cm^ ((open (prefix debug: drracket:debug-cm^)) (open (prefix unit: drracket:unit-cm^)) (open (prefix rep: drracket:rep-cm^)) (open (prefix frame: drracket:frame-cm^)) (open (prefix get/extend: drracket:get/extend-cm^)) (open (prefix language-configuration: drracket:language-configuration-cm^)) (open (prefix language: drracket:language-cm^)) (open (prefix help-desk: drracket:help-desk-cm^)) (open (prefix eval: drracket:eval-cm^)) (open (prefix font: drracket:font-cm^)) (open (prefix modes: drracket:modes-cm^)) (open (prefix tracing: drracket:tracing-cm^)) (open (prefix module-language: drracket:module-language-cm^)) (open (prefix module-language-tools: drracket:module-language-tools-cm^)) (open drracket:interface^))) (define-signature drracket:tool-cm^ ((open (prefix drracket: no-prefix:tool-cm^)))) (define-signature drscheme:tool-cm^ ((open (prefix drscheme: no-prefix:tool-cm^)))) (define-signature no-prefix:tool^ ((open (prefix debug: drracket:debug^)) (open (prefix unit: drracket:unit^)) (open (prefix rep: drracket:rep^)) (open (prefix frame: drracket:frame^)) (open (prefix get/extend: drracket:get/extend^)) (open (prefix language-configuration: drracket:language-configuration^)) (open (prefix language: drracket:language^)) (open (prefix help-desk: drracket:help-desk^)) (open (prefix eval: drracket:eval^)) (open (prefix modes: drracket:modes^)) (open (prefix tracing: drracket:tracing^)) (open (prefix module-language: drracket:module-language^)) (open (prefix module-language-tools: drracket:module-language-tools^)) (open drracket:interface^))) (define-signature drracket:tool^ ((open (prefix drracket: no-prefix:tool^)))) (define-signature drscheme:tool^ ((open (prefix drscheme: no-prefix:tool^))))