Skip to content

Commit

Permalink
convention: fix header styling for forms like lambda
Browse files Browse the repository at this point in the history
  • Loading branch information
sorawee committed Dec 3, 2023
1 parent bd44477 commit f707950
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 50 deletions.
24 changes: 20 additions & 4 deletions conventions.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,20 @@
((format-horizontal/helper #:body-formatter (format-clause-2/indirect #:flat? #f)) xs))))]
[_ (pretty doc)]))

(define-pretty format-define-args/indirect
#:type values
(match doc
[(node _ _ _ #f #f xs)
(pretty-node
(try-indent
#:n 0
#:because-of xs
;; general case
(alt ((format-vertical/helper) xs)
;; try to fit in one line
((format-horizontal/helper) xs))))]
[_ (pretty doc)]))

(define format-if (format-if-like/helper format-#%app))

;; try to fit in one line if the body has exactly one form,
Expand Down Expand Up @@ -440,16 +454,18 @@
[("pubment" "public-final" "overment" "override-final" "augride" "augment-final") format-require]

[("define") (format-define)]
[("define-for-syntax" "define-values") (format-define-like)]
[("define-for-syntax") (format-define-like)]
[("define-syntax-rule") (format-define-like)]
[("define-syntax" "define-syntaxes" "define-values-for-syntax") (format-define-like)]
[("define-syntax") (format-define-like)]
[("define-syntax-parameter") (format-define-like)]
[("define/public" "define/private" "define/override" "define/augment") (format-define-like)]
[("define/pubment" "define/augride" "define/overment") (format-define-like)]
[("define/public-final" "define/override-final" "define/augment-final") (format-define-like)]

[("λ" "lambda") (format-define-like)]
[("match-define" "match-define-values") (format-define-like)]
[("λ" "lambda") (format-define-like #:head-formatter format-define-args/indirect)]
[("match-define") (format-define-like)]
[("match-define-values" "define-values" "define-syntaxes" "define-values-for-syntax")
(format-define-like #:head-formatter format-define-args/indirect)]

[("define/contract") (format-define-like)]

Expand Down
49 changes: 26 additions & 23 deletions tests/benchmarks/class-internal.rkt.out
Original file line number Diff line number Diff line change
Expand Up @@ -1632,11 +1632,12 @@
;; Attach srcloc (useful for profiling)
#,
(quasisyntax/loc stx
(lambda (the-obj super-go
si_c
si_inited?
si_leftovers
init-args)
(lambda (the-obj
super-go
si_c
si_inited?
si_leftovers
init-args)
(syntax-parameterize ([the-finder (quote-syntax
the-obj)])
(syntax-parameterize
Expand Down Expand Up @@ -1790,15 +1791,16 @@
(class-syntax-protect
#'(-define-serializable-class orig-stx name super-expression () defn-or-expr ...)))]))

(define-syntaxes (private* public*
pubment*
override*
overment*
augride*
augment*
public-final*
override-final*
augment-final*)
(define-syntaxes (private*
public*
pubment*
override*
overment*
augride*
augment*
public-final*
override-final*
augment-final*)
(let ([mk (lambda (who decl-form)
(lambda (stx)
(unless (class-top-level-context? (syntax-local-context))
Expand Down Expand Up @@ -1836,15 +1838,16 @@
(mk 'override-final* (syntax override-final))
(mk 'augment-final* (syntax augment)))))

(define-syntaxes (define/private define/public
define/pubment
define/override
define/overment
define/augride
define/augment
define/public-final
define/override-final
define/augment-final)
(define-syntaxes (define/private
define/public
define/pubment
define/override
define/overment
define/augride
define/augment
define/public-final
define/override-final
define/augment-final)
(let ([mk (lambda (decl-form)
(lambda (stx)
(unless (class-top-level-context? (syntax-local-context))
Expand Down
49 changes: 26 additions & 23 deletions tests/test-cases/large.rkt.out
Original file line number Diff line number Diff line change
Expand Up @@ -1627,11 +1627,12 @@
;; Attach srcloc (useful for profiling)
#,
(quasisyntax/loc stx
(lambda (the-obj super-go
si_c
si_inited?
si_leftovers
init-args)
(lambda (the-obj
super-go
si_c
si_inited?
si_leftovers
init-args)
(syntax-parameterize ([the-finder (quote-syntax
the-obj)])
(syntax-parameterize
Expand Down Expand Up @@ -1785,15 +1786,16 @@
(class-syntax-protect
#'(-define-serializable-class orig-stx name super-expression () defn-or-expr ...)))]))

(define-syntaxes (private* public*
pubment*
override*
overment*
augride*
augment*
public-final*
override-final*
augment-final*)
(define-syntaxes (private*
public*
pubment*
override*
overment*
augride*
augment*
public-final*
override-final*
augment-final*)
(let ([mk (lambda (who decl-form)
(lambda (stx)
(unless (class-top-level-context? (syntax-local-context))
Expand Down Expand Up @@ -1831,15 +1833,16 @@
(mk 'override-final* (syntax override-final))
(mk 'augment-final* (syntax augment)))))

(define-syntaxes (define/private define/public
define/pubment
define/override
define/overment
define/augride
define/augment
define/public-final
define/override-final
define/augment-final)
(define-syntaxes (define/private
define/public
define/pubment
define/override
define/overment
define/augride
define/augment
define/public-final
define/override-final
define/augment-final)
(let ([mk (lambda (decl-form)
(lambda (stx)
(unless (class-top-level-context? (syntax-local-context))
Expand Down
3 changes: 3 additions & 0 deletions tests/test-cases/test-lambda.rkt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#lang racket

(lambda (#:key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #:word y) 1)
5 changes: 5 additions & 0 deletions tests/test-cases/test-lambda.rkt.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#lang racket

(lambda (#:key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#:word y)
1)

0 comments on commit f707950

Please sign in to comment.