Skip to content

Commit 6138de0

Browse files
committed
use drracket:comment-delimiters in the Insert Large Letters... menu item
1 parent 8871d99 commit 6138de0

File tree

2 files changed

+34
-11
lines changed

2 files changed

+34
-11
lines changed

drracket-core-lib/drracket/private/module-language.rkt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,21 @@
544544
(print value port))
545545
(newline port))
546546

547-
547+
(define/override (get-comment-character [comment-delimiters '()])
548+
(define start+char
549+
(for/or ([comment-delimiter (in-list comment-delimiters)])
550+
(match comment-delimiter
551+
[(list 'line start padding)
552+
(define beginning (string-append start padding))
553+
(define no-spaces (regexp-replace #rx"^ *" beginning ""))
554+
(cond
555+
[(equal? no-spaces "") #f]
556+
[else
557+
(cons beginning (string-ref no-spaces 0))])]
558+
[_ #f])))
559+
(cond
560+
[start+char (values (car start+char) (cdr start+char))]
561+
[else (super get-comment-character)]))
548562

549563
;; printer settings are just ignored here.
550564
(define/override (create-executable setting parent program-filename)

drracket-core-lib/drracket/private/unit.rkt

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4722,16 +4722,25 @@
47224722
#t)]
47234723
[insert-large-semicolon-letters
47244724
(λ ()
4725-
(let ([edit (get-edit-target-object)])
4726-
(when edit
4727-
(define language-settings (send definitions-text get-next-settings))
4728-
(define-values(comment-prefix comment-character)
4729-
(if language-settings
4730-
(send (drracket:language-configuration:language-settings-language
4731-
language-settings)
4732-
get-comment-character)
4733-
(values ";" #\;)))
4734-
(insert-large-letters comment-prefix comment-character edit this))))]
4725+
(define edit (get-edit-target-object))
4726+
(when edit
4727+
(define language-settings (send definitions-text get-next-settings))
4728+
(define-values (comment-prefix comment-character)
4729+
(cond
4730+
[language-settings
4731+
(define lang (drracket:language-configuration:language-settings-language
4732+
language-settings))
4733+
(cond
4734+
[(object-method-arity-includes? lang 'get-comment-character 1)
4735+
(define cap-val
4736+
(call-read-language (send definitions-text get-irl)
4737+
'drracket:comment-delimiters
4738+
'()))
4739+
(send lang get-comment-character cap-val)]
4740+
[else (send lang get-comment-character)])]
4741+
[else
4742+
(values ";" #\;)]))
4743+
(insert-large-letters comment-prefix comment-character edit this)))]
47354744
[c% (get-menu-item%)])
47364745

47374746
(frame:add-snip-menu-items

0 commit comments

Comments
 (0)