racket/collects/framework/private/sig.rkt
Robby Findler 4a2757f200 Adjust DrRacket so that it saves files with CRLF
line terminators when:

  a) running under windows, and
  b) the file on the disk (when DrRacket first opens it)
     contains all CRLF line endings.

In all other situations, the file is saved with LF terminators.

Before this commit, DrRacket would always use the platform-specific
convention, regardless of the original content of the file.

closes PR 12242
2011-09-30 17:08:07 -05:00

490 lines
11 KiB
Racket

#lang racket/base
(require scheme/unit)
(provide (prefix-out framework: (except-out (all-defined-out) framework^))
framework^)
(define-signature number-snip-class^
(snip-class%))
(define-signature number-snip^ extends number-snip-class^
(make-repeating-decimal-snip
make-fraction-snip))
(define-signature comment-box-class^
(snip%))
(define-signature comment-box^ extends comment-box-class^
(snipclass))
(define-signature menu-class^
(can-restore<%>
can-restore-mixin
can-restore-underscore<%>
can-restore-underscore-mixin
can-restore-menu-item%
can-restore-checkable-menu-item%
can-restore-underscore-menu%))
(define-signature menu^ extends menu-class^
())
(define-signature version-class^
())
(define-signature version^ extends version-class^
(add-spec
version))
(define-signature panel-class^
(single-mixin
single<%>
single-window<%>
single-window-mixin
;;multi-view-mixin
;;multi-view<%>
single%
single-pane%
;;multi-view%
dragable<%>
dragable-mixin
vertical-dragable<%>
vertical-dragable-mixin
vertical-dragable%
horizontal-dragable<%>
horizontal-dragable-mixin
horizontal-dragable%
splitter<%>
splitter-mixin))
(define-signature panel^ extends panel-class^
(dragable-container-size
dragable-place-children))
(define-signature application-class^
())
(define-signature application^ extends application-class^
(current-app-name))
(define-signature preferences-class^
())
(define-signature preferences^ extends preferences-class^
(put-preferences/gui
get-preference/gui
add-panel
add-font-panel
add-editor-checkbox-panel
add-general-checkbox-panel
add-warnings-checkbox-panel
add-scheme-checkbox-panel
add-to-editor-checkbox-panel
add-to-general-checkbox-panel
add-to-warnings-checkbox-panel
add-to-scheme-checkbox-panel
add-on-close-dialog-callback
add-can-close-dialog-callback
show-dialog
hide-dialog))
(define-signature autosave-class^
(autosavable<%>))
(define-signature autosave^ extends autosave-class^
(toc-path
register
restore-autosave-files/gui))
(define-signature exit-class^
())
(define-signature exit^ extends exit-class^
(set-exiting
exiting?
user-oks-exit
insert-on-callback
insert-can?-callback
can-exit?
on-exit
exit))
(define-signature path-utils-class^
())
(define-signature path-utils^ extends path-utils-class^
(generate-autosave-name
generate-backup-name))
(define-signature finder-class^
())
(define-signature finder^ extends finder-class^
(dialog-parent-parameter
default-extension
default-filters
common-put-file
common-get-file
std-put-file
std-get-file
common-get-file-list
get-file
put-file))
(define-signature editor-class^
(basic<%>
standard-style-list<%>
keymap<%>
autowrap<%>
info<%>
file<%>
backup-autosave<%>
basic-mixin
standard-style-list-mixin
keymap-mixin
autowrap-mixin
info-mixin
file-mixin
backup-autosave-mixin))
(define-signature editor^ extends editor-class^
(get-standard-style-list
set-standard-style-list-pref-callbacks
set-standard-style-list-delta
set-default-font-color
get-default-color-style-name
add-after-user-keymap))
(define-signature pasteboard-class^
(basic%
standard-style-list%
keymap%
file%
backup-autosave%
info%))
(define-signature pasteboard^ extends pasteboard-class^
())
(define-signature text-class^
(basic<%>
first-line<%>
line-numbers<%>
foreground-color<%>
hide-caret/selection<%>
nbsp->space<%>
normalize-paste<%>
delegate<%>
wide-snip<%>
searching<%>
return<%>
info<%>
file<%>
clever-file-format<%>
crlf-line-endings<%>
ports<%>
input-box<%>
autocomplete<%>
basic%
hide-caret/selection%
nbsp->space%
normalize-paste%
1-pixel-string-snip%
1-pixel-tab-snip%
delegate%
wide-snip%
standard-style-list%
keymap%
return%
autowrap%
file%
clever-file-format%
backup-autosave%
searching%
info%
input-box%
basic-mixin
first-line-mixin
line-numbers-mixin
foreground-color-mixin
hide-caret/selection-mixin
nbsp->space-mixin
normalize-paste-mixin
wide-snip-mixin
delegate-mixin
searching-mixin
return-mixin
info-mixin
file-mixin
clever-file-format-mixin
crlf-line-endings-mixin
ports-mixin
input-box-mixin
autocomplete-mixin))
(define-signature text^ extends text-class^
(autocomplete-append-after
autocomplete-limit
get-completions/manuals
lookup-port-name
range?
range-start
range-end
range-caret-space?
range-style
range-color))
(define-signature canvas-class^
(basic<%>
color<%>
delegate<%>
info<%>
wide-snip<%>
basic%
color%
info%
delegate%
wide-snip%
basic-mixin
color-mixin
delegate-mixin
info-mixin
wide-snip-mixin))
(define-signature canvas^ extends canvas-class^
())
(define-signature frame-class^
(basic<%>
focus-table<%>
size-pref<%>
register-group<%>
status-line<%>
standard-menus<%>
editor<%>
text<%>
pasteboard<%>
delegate<%>
searchable<%>
searchable-text<%>
info<%>
text-info<%>
pasteboard-info<%>
basic%
size-pref%
status-line%
info%
text-info%
pasteboard-info%
standard-menus%
editor%
text%
searchable%
delegate%
pasteboard%
focus-table-mixin
basic-mixin
size-pref-mixin
register-group-mixin
status-line-mixin
standard-menus-mixin
editor-mixin
text-mixin
pasteboard-mixin
delegate-mixin
searchable-mixin
searchable-text-mixin
info-mixin
text-info-mixin
pasteboard-info-mixin))
(define-signature frame^ extends frame-class^
(current-icon
reorder-menus
remove-empty-menus
add-snip-menu-items
setup-size-pref))
(define-signature group-class^
(%))
(define-signature group^ extends group-class^
(get-the-frame-group
on-close-action
can-close-check
add-to-windows-menu))
(define-signature handler-class^
())
(define-signature handler^ extends handler-class^
(handler?
handler-name
handler-extension
handler-handler
insert-format-handler
find-format-handler
find-named-format-handler
current-create-new-window
edit-file
open-file
install-recent-items
add-to-recent
set-recent-position
set-recent-items-frame-superclass
size-recently-opened-files))
(define-signature icon-class^
())
(define-signature icon^ extends icon-class^
(get-paren-highlight-bitmap
get-autowrap-bitmap
get-eof-bitmap
get-lock-bitmap
get-unlock-bitmap
get-anchor-bitmap
get-left/right-cursor
get-up/down-cursor
get-gc-on-bitmap
get-gc-off-bitmap))
(define-signature keymap-class^
(aug-keymap%
aug-keymap<%>
aug-keymap-mixin))
(define-signature keymap^ extends keymap-class^
(send-map-function-meta
make-meta-prefix-list
canonicalize-keybinding-string
add-to-right-button-menu
add-to-right-button-menu/before
setup-global
setup-search
setup-file
setup-editor
get-user
get-global
get-search
get-file
get-editor
set-chained-keymaps
remove-chained-keymap
call/text-keymap-initializer
add-user-keybindings-file
remove-user-keybindings-file))
(define-signature color-class^
(text<%>
text-mixin
text%
text-mode<%>
text-mode-mixin
text-mode%))
(define-signature color^ extends color-class^
(get-parenthesis-colors-table))
(define-signature color-prefs-class^
())
(define-signature color-prefs^ extends color-prefs-class^
(register-color-preference
add-to-preferences-panel
build-color-selection-panel
add-background-preferences-panel
marshall-style-delta
unmarshall-style-delta
set-default/color-scheme
white-on-black
black-on-white))
(define-signature scheme-class^
(text<%>
text-mixin
text%
text-mode<%>
text-mode-mixin
text-mode%
set-mode-mixin
sexp-snip%
sexp-snip<%>))
(define-signature scheme^ extends scheme-class^
(get-wordbreak-map
init-wordbreak-map
get-keymap
setup-keymap
add-preferences-panel
add-coloring-preferences-panel
get-color-prefs-table
get-white-on-black-color-prefs-table
short-sym->pref-name
short-sym->style-name
text-balanced?))
(define-signature main-class^ ())
(define-signature main^ extends main-class^ ())
(define-signature mode-class^
(host-text-mixin
host-text<%>
surrogate-text%
surrogate-text<%>))
(define-signature mode^ extends mode-class^ ())
(define-signature color-model-class^
())
(define-signature color-model^ extends color-model-class^
(xyz?
xyz-x
xyz-y
xyz-z
rgb-color-distance
rgb->xyz
xyz->rgb))
(define-signature early-init^ ())
(define-signature framework^
((open (prefix application: application^))
(open (prefix version: version^))
(open (prefix color-model: color-model^))
(open (prefix mode: mode^))
(open (prefix exit: exit^))
(open (prefix menu: menu^))
(open (prefix preferences: preferences^))
(open (prefix number-snip: number-snip^))
(open (prefix autosave: autosave^))
(open (prefix path-utils: path-utils^))
(open (prefix icon: icon^))
(open (prefix keymap: keymap^))
(open (prefix editor: editor^))
(open (prefix pasteboard: pasteboard^))
(open (prefix text: text^))
(open (prefix color: color^))
(open (prefix color-prefs: color-prefs^))
(open (prefix comment-box: comment-box^))
(open (prefix finder: finder^))
(open (prefix group: group^))
(open (prefix canvas: canvas^))
(open (prefix panel: panel^))
(open (prefix frame: frame^))
(open (prefix handler: handler^))
(open (prefix scheme: scheme^))
(open (prefix main: main^))))