...
original commit: 824b5b741a60072823036ef363ec8af77cfd5795
This commit is contained in:
parent
81fb41f957
commit
2bcea31ff4
|
@ -20,13 +20,11 @@
|
||||||
|
|
||||||
(define -text<%>
|
(define -text<%>
|
||||||
(interface ()
|
(interface ()
|
||||||
highlight-parens?
|
|
||||||
highlight-parens
|
highlight-parens
|
||||||
get-limit
|
get-limit
|
||||||
balance-quotes
|
balance-quotes
|
||||||
balance-parens
|
balance-parens
|
||||||
tabify-on-return?
|
tabify-on-return?
|
||||||
match-round-to-square?
|
|
||||||
tabify
|
tabify
|
||||||
tabify-selection
|
tabify-selection
|
||||||
tabify-all
|
tabify-all
|
||||||
|
@ -45,14 +43,14 @@
|
||||||
find-down-sexp
|
find-down-sexp
|
||||||
down-sexp
|
down-sexp
|
||||||
remove-parens-forward
|
remove-parens-forward
|
||||||
standard-style-delta
|
|
||||||
|
|
||||||
select-forward-sexp
|
select-forward-sexp
|
||||||
select-backward-sexp
|
select-backward-sexp
|
||||||
select-up-sexp
|
select-up-sexp
|
||||||
select-down-sexp
|
select-down-sexp
|
||||||
transpose-sexp
|
transpose-sexp
|
||||||
tab-size))
|
get-tab-size
|
||||||
|
set-tab-size))
|
||||||
|
|
||||||
(define init-wordbreak-map
|
(define init-wordbreak-map
|
||||||
(lambda (map)
|
(lambda (map)
|
||||||
|
@ -61,9 +59,11 @@
|
||||||
#\-
|
#\-
|
||||||
'(line)))))
|
'(line)))))
|
||||||
(define wordbreak-map (make-object editor-wordbreak-map%))
|
(define wordbreak-map (make-object editor-wordbreak-map%))
|
||||||
|
(define (get-wordbreak-map) wordbreak-map)
|
||||||
(init-wordbreak-map wordbreak-map)
|
(init-wordbreak-map wordbreak-map)
|
||||||
|
|
||||||
(define style-list (make-object style-list%))
|
(define style-list (make-object style-list%))
|
||||||
|
(define (get-style-list) style-list)
|
||||||
(define standard-style-delta
|
(define standard-style-delta
|
||||||
(let ([delta (make-object style-delta% 'change-normal)])
|
(let ([delta (make-object style-delta% 'change-normal)])
|
||||||
(send delta set-delta 'change-family 'modern)
|
(send delta set-delta 'change-family 'modern)
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
(if (= -1 f)
|
(if (= -1 f)
|
||||||
#f
|
#f
|
||||||
(= (send position-line f) line))))
|
(= (send position-line f) line))))
|
||||||
scheme-paren:comments)))])
|
(scheme-paren:get-comments))))])
|
||||||
(private
|
(private
|
||||||
[remove-indents-callback
|
[remove-indents-callback
|
||||||
(preferences:add-callback
|
(preferences:add-callback
|
||||||
|
@ -134,7 +134,6 @@
|
||||||
(rename [super-on-focus on-focus]
|
(rename [super-on-focus on-focus]
|
||||||
[super-on-change-style on-change-style]
|
[super-on-change-style on-change-style]
|
||||||
[super-after-change-style after-change-style]
|
[super-after-change-style after-change-style]
|
||||||
[super-on-edit-sequence on-edit-sequence]
|
|
||||||
[super-after-edit-sequence after-edit-sequence]
|
[super-after-edit-sequence after-edit-sequence]
|
||||||
[super-on-insert on-insert]
|
[super-on-insert on-insert]
|
||||||
[super-after-insert after-insert]
|
[super-after-insert after-insert]
|
||||||
|
@ -159,9 +158,6 @@
|
||||||
(unless (get-styles-fixed)
|
(unless (get-styles-fixed)
|
||||||
(highlight-parens))
|
(highlight-parens))
|
||||||
(super-after-change-style))]
|
(super-after-change-style))]
|
||||||
[on-edit-sequence
|
|
||||||
(lambda ()
|
|
||||||
(super-on-edit-sequence))]
|
|
||||||
[after-edit-sequence
|
[after-edit-sequence
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(unless in-highlight-parens?
|
(unless in-highlight-parens?
|
||||||
|
@ -206,10 +202,8 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(highlight-parens))])
|
(highlight-parens))])
|
||||||
|
|
||||||
(public
|
|
||||||
[highlight-parens? (preferences:get 'framework:highlight-parens)])
|
|
||||||
|
|
||||||
(private
|
(private
|
||||||
|
[highlight-parens? (preferences:get 'framework:highlight-parens)]
|
||||||
[remove-paren-callback (preferences:add-callback
|
[remove-paren-callback (preferences:add-callback
|
||||||
'framework:highlight-parens
|
'framework:highlight-parens
|
||||||
(lambda (p value)
|
(lambda (p value)
|
||||||
|
@ -219,7 +213,7 @@
|
||||||
(lambda (pos)
|
(lambda (pos)
|
||||||
(let loop ([pos pos])
|
(let loop ([pos pos])
|
||||||
(let ([paren-pos (apply max (map (lambda (pair) (find-string (car pair) -1 pos -1 #f))
|
(let ([paren-pos (apply max (map (lambda (pair) (find-string (car pair) -1 pos -1 #f))
|
||||||
scheme-paren:paren-pairs))])
|
(scheme-paren:get-paren-pairs)))])
|
||||||
(cond
|
(cond
|
||||||
[(= -1 paren-pos) #f]
|
[(= -1 paren-pos) #f]
|
||||||
[else
|
[else
|
||||||
|
@ -263,7 +257,7 @@
|
||||||
(lambda (f)
|
(lambda (f)
|
||||||
(lambda (char)
|
(lambda (char)
|
||||||
(ormap (lambda (x) (char=? char (string-ref (f x) 0)))
|
(ormap (lambda (x) (char=? char (string-ref (f x) 0)))
|
||||||
scheme-paren:paren-pairs)))]
|
(scheme-paren:get-paren-pairs))))]
|
||||||
[is-left-paren? (is-paren? car)]
|
[is-left-paren? (is-paren? car)]
|
||||||
[is-right-paren? (is-paren? cdr)])
|
[is-right-paren? (is-paren? cdr)])
|
||||||
(when (and (= here there)
|
(when (and (= here there)
|
||||||
|
@ -327,7 +321,7 @@
|
||||||
[fixup-parens? (preferences:get 'framework:fixup-parens)]
|
[fixup-parens? (preferences:get 'framework:fixup-parens)]
|
||||||
[find-match
|
[find-match
|
||||||
(lambda (pos)
|
(lambda (pos)
|
||||||
(let loop ([parens scheme-paren:paren-pairs])
|
(let loop ([parens (scheme-paren:get-paren-pairs)])
|
||||||
(cond
|
(cond
|
||||||
[(null? parens) #f]
|
[(null? parens) #f]
|
||||||
[else (let* ([paren (car parens)]
|
[else (let* ([paren (car parens)]
|
||||||
|
@ -364,7 +358,6 @@
|
||||||
[else (insert char)])
|
[else (insert char)])
|
||||||
#t)))]
|
#t)))]
|
||||||
[tabify-on-return? (lambda () #t)]
|
[tabify-on-return? (lambda () #t)]
|
||||||
[match-round-to-square? (lambda () #t)]
|
|
||||||
[tabify
|
[tabify
|
||||||
(opt-lambda ([pos (get-start-position)])
|
(opt-lambda ([pos (get-start-position)])
|
||||||
(let* ([last-pos (last-position)]
|
(let* ([last-pos (last-position)]
|
||||||
|
@ -655,7 +648,7 @@
|
||||||
|
|
||||||
(if (and exp-pos (> exp-pos 0))
|
(if (and exp-pos (> exp-pos 0))
|
||||||
(let ([pos (apply max
|
(let ([pos (apply max
|
||||||
(map paren-pos scheme-paren:paren-pairs))])
|
(map paren-pos (scheme-paren:get-paren-pairs)))])
|
||||||
(if (= pos -1) ;; all finds failed
|
(if (= pos -1) ;; all finds failed
|
||||||
#f
|
#f
|
||||||
(- pos 1))) ;; subtract one to move outside the paren
|
(- pos 1))) ;; subtract one to move outside the paren
|
||||||
|
@ -706,8 +699,7 @@
|
||||||
(delete (- closer 2) (- closer 1))
|
(delete (- closer 2) (- closer 1))
|
||||||
(end-edit-sequence))
|
(end-edit-sequence))
|
||||||
(bell))
|
(bell))
|
||||||
#t))]
|
#t))])
|
||||||
[standard-style-delta #f])
|
|
||||||
|
|
||||||
(private
|
(private
|
||||||
[select-text
|
[select-text
|
||||||
|
@ -752,8 +744,12 @@
|
||||||
(insert text-1 start-2 end-2)
|
(insert text-1 start-2 end-2)
|
||||||
(insert text-2 start-1 end-1)
|
(insert text-2 start-1 end-1)
|
||||||
(set-position end-2)
|
(set-position end-2)
|
||||||
(end-edit-sequence)))))))))))]
|
(end-edit-sequence)))))))))))])
|
||||||
|
(private
|
||||||
[tab-size 8])
|
[tab-size 8])
|
||||||
|
(public
|
||||||
|
[get-tab-size (lambda () tab-size)]
|
||||||
|
[set-tab-size (lambda (s) (set! tab-size s))])
|
||||||
|
|
||||||
(sequence
|
(sequence
|
||||||
(apply super-init args)
|
(apply super-init args)
|
||||||
|
@ -895,4 +891,5 @@
|
||||||
(send keymap map-function "c:c;c:b" "remove-parens-forward")))
|
(send keymap map-function "c:c;c:b" "remove-parens-forward")))
|
||||||
|
|
||||||
(define keymap (make-object keymap%))
|
(define keymap (make-object keymap%))
|
||||||
(setup-keymap keymap))
|
(setup-keymap keymap)
|
||||||
|
(define (get-keymap) keymap))
|
||||||
|
|
|
@ -80,6 +80,7 @@
|
||||||
(define-signature framework:editor^
|
(define-signature framework:editor^
|
||||||
(basic<%>
|
(basic<%>
|
||||||
info<%>
|
info<%>
|
||||||
|
file<%>
|
||||||
backup-autosave<%>
|
backup-autosave<%>
|
||||||
|
|
||||||
basic-mixin
|
basic-mixin
|
||||||
|
@ -96,19 +97,23 @@
|
||||||
(define-signature framework:text^
|
(define-signature framework:text^
|
||||||
(basic<%>
|
(basic<%>
|
||||||
searching<%>
|
searching<%>
|
||||||
|
return<%>
|
||||||
|
info<%>
|
||||||
|
clever-file-format<%>
|
||||||
|
|
||||||
basic-mixin
|
basic-mixin
|
||||||
return-mixin
|
|
||||||
searching-mixin
|
searching-mixin
|
||||||
|
return-mixin
|
||||||
|
info-mixin
|
||||||
clever-file-format-mixin
|
clever-file-format-mixin
|
||||||
|
|
||||||
basic%
|
basic%
|
||||||
return%
|
return%
|
||||||
searching%
|
|
||||||
info%
|
|
||||||
file%
|
file%
|
||||||
clever-file-format%
|
clever-file-format%
|
||||||
backup-autosave%))
|
backup-autosave%
|
||||||
|
searching%
|
||||||
|
info%))
|
||||||
|
|
||||||
(define-signature framework:pasteboard%
|
(define-signature framework:pasteboard%
|
||||||
(pasteboard:basic%
|
(pasteboard:basic%
|
||||||
|
@ -210,19 +215,19 @@
|
||||||
(%))
|
(%))
|
||||||
|
|
||||||
(define-signature framework:scheme-paren^
|
(define-signature framework:scheme-paren^
|
||||||
(paren-pairs
|
(get-comments
|
||||||
quote-pairs
|
get-paren-pairs
|
||||||
comments
|
get-quote-pairs
|
||||||
forward-match
|
forward-match
|
||||||
backward-match
|
backward-match
|
||||||
balanced?
|
balanced?
|
||||||
backward-containing-sexp))
|
backward-containing-sexp))
|
||||||
|
|
||||||
(define-signature framework:scheme^
|
(define-signature framework:scheme^
|
||||||
(wordbreak-map
|
(get-wordbreak-map
|
||||||
init-wordbreak-map
|
init-wordbreak-map
|
||||||
style-list
|
get-style-list
|
||||||
keymap
|
get-keymap
|
||||||
setup-keymap
|
setup-keymap
|
||||||
text-mixin
|
text-mixin
|
||||||
text<%>
|
text<%>
|
||||||
|
|
|
@ -17,14 +17,14 @@
|
||||||
|
|
||||||
(define items
|
(define items
|
||||||
(list (make-generic 'get-menu% '(lambda () menu%)
|
(list (make-generic 'get-menu% '(lambda () menu%)
|
||||||
'("The result of this method is used as the class for creating:"
|
'("The result of this method is used as the class for creating the result of these methods:"
|
||||||
"@mlink file-menu %"
|
"@mlink get-file-menu %"
|
||||||
", "
|
", "
|
||||||
"@mlink edit-menu %"
|
"@mlink get-edit-menu %"
|
||||||
", "
|
", "
|
||||||
"@mlink windows-menu %"
|
"@mlink get-windows-menu %"
|
||||||
", and"
|
", and"
|
||||||
"@mlink help-menu %"
|
"@mlink get-help-menu %"
|
||||||
". "
|
". "
|
||||||
""
|
""
|
||||||
"@return : (derived-from \\iscmclass{menu})"
|
"@return : (derived-from \\iscmclass{menu})"
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
(lambda () m))
|
(lambda () m))
|
||||||
'("Returns the file menu"
|
'("Returns the file menu"
|
||||||
"See also"
|
"See also"
|
||||||
"@mlink get-menu\%"
|
"@mlink get-menu\\%"
|
||||||
""
|
""
|
||||||
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
||||||
(make-generic 'get-edit-menu
|
(make-generic 'get-edit-menu
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
|
|
||||||
'("Returns the edit menu"
|
'("Returns the edit menu"
|
||||||
"See also"
|
"See also"
|
||||||
"@mlink get-menu\%"
|
"@mlink get-menu\\%"
|
||||||
""
|
""
|
||||||
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
||||||
(make-generic 'get-windows-menu
|
(make-generic 'get-windows-menu
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
|
|
||||||
'("Returns the windows menu"
|
'("Returns the windows menu"
|
||||||
"See also"
|
"See also"
|
||||||
"@mlink get-menu\%"
|
"@mlink get-menu\\%"
|
||||||
""
|
""
|
||||||
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
||||||
(make-generic 'get-help-menu
|
(make-generic 'get-help-menu
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
|
|
||||||
'("Returns the help menu"
|
'("Returns the help menu"
|
||||||
"See also"
|
"See also"
|
||||||
"@mlink get-menu\%"
|
"@mlink get-menu\\%"
|
||||||
""
|
""
|
||||||
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
"@return : (instance (derived-from \\iscmclass{menu}))"))
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
(printf "1~n")
|
(printf "1~n")
|
||||||
|
(require-library "errortrace.ss" "errortrace")
|
||||||
(read-case-sensitive #t)
|
(read-case-sensitive #t)
|
||||||
(compile-allow-cond-fallthrough #t)
|
(compile-allow-cond-fallthrough #t)
|
||||||
(compile-allow-set!-undefined #t)
|
(compile-allow-set!-undefined #t)
|
||||||
|
|
|
@ -312,8 +312,6 @@
|
||||||
(keymap:set-keymap-implied-shifts keymap)
|
(keymap:set-keymap-implied-shifts keymap)
|
||||||
(send keymap chain-to-keymap (keymap:get-global) #f)))))
|
(send keymap chain-to-keymap (keymap:get-global) #f)))))
|
||||||
|
|
||||||
(define file<%> (interface (basic<%>)))
|
|
||||||
|
|
||||||
(define searching<%>
|
(define searching<%>
|
||||||
(interface ()
|
(interface ()
|
||||||
find-string-embedded))
|
find-string-embedded))
|
||||||
|
@ -407,8 +405,10 @@
|
||||||
(keymap:set-keymap-implied-shifts keymap)
|
(keymap:set-keymap-implied-shifts keymap)
|
||||||
(send keymap chain-to-keymap (keymap:get-search) #f)))))
|
(send keymap chain-to-keymap (keymap:get-search) #f)))))
|
||||||
|
|
||||||
|
(define return<%> (interface (text<%>)))
|
||||||
|
|
||||||
(define return-mixin
|
(define return-mixin
|
||||||
(mixin (text<%>) (text<%>) (return . args)
|
(mixin (text<%>) (return<%>) (return . args)
|
||||||
(rename [super-on-local-char on-local-char])
|
(rename [super-on-local-char on-local-char])
|
||||||
(override
|
(override
|
||||||
[on-local-char
|
[on-local-char
|
||||||
|
@ -423,8 +423,10 @@
|
||||||
(sequence
|
(sequence
|
||||||
(apply super-init args))))
|
(apply super-init args))))
|
||||||
|
|
||||||
|
(define info<%> (interface (editor:basic<%> text<%>)))
|
||||||
|
|
||||||
(define info-mixin
|
(define info-mixin
|
||||||
(mixin (editor:basic<%> text<%>) (editor:basic<%> text<%>) args
|
(mixin (editor:basic<%> text<%>) (info<%>) args
|
||||||
(inherit get-start-position get-end-position get-canvas
|
(inherit get-start-position get-end-position get-canvas
|
||||||
run-after-edit-sequence)
|
run-after-edit-sequence)
|
||||||
(rename [super-after-set-position after-set-position]
|
(rename [super-after-set-position after-set-position]
|
||||||
|
@ -471,8 +473,10 @@
|
||||||
(enqueue-for-frame 'edit-position-changed
|
(enqueue-for-frame 'edit-position-changed
|
||||||
'framework:edit-position-changed))])))
|
'framework:edit-position-changed))])))
|
||||||
|
|
||||||
|
(define clever-file-format<%> (interface (text<%>)))
|
||||||
|
|
||||||
(define clever-file-format-mixin
|
(define clever-file-format-mixin
|
||||||
(mixin (text<%>) (text<%>) args
|
(mixin (text<%>) (clever-file-format<%>) args
|
||||||
(inherit get-file-format set-file-format find-first-snip)
|
(inherit get-file-format set-file-format find-first-snip)
|
||||||
(rename [super-on-save-file on-save-file]
|
(rename [super-on-save-file on-save-file]
|
||||||
[super-after-save-file after-save-file])
|
[super-after-save-file after-save-file])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user