«m:;; »«x:-*- racket-indent-sequence-depth: 100; racket-indent-curly-as-sequence: t; -*- » «m:;;; »«x:NOTE: After changing this file you will need to M-x faceup-write-file »«m:;;; »«x:to regenerate the .faceup test comparison file. »«m:;;;»«x: »«m:;;; »«x:NOTE: You may need to disable certain features -- for example »«m:;;; »«x:global-paren-face-mode -- during the M-x faceup-write-file. » «k:#lang» «v:racket» («k:require» xml) («k:provide» valid-bucket-name?) «m:;; »«x:Various def* forms are font-locked: » («k:define» («f:function» foo) «:racket-selfeval-face:#t») («k:define» ((«f:curried-function» x) y) («b:list» x y)) («k:define» «v:a-var» «:racket-selfeval-face:10») («b:define/contract» («f:f2» x) («b:any/c» . «b:->» . «b:any») «:racket-selfeval-face:#t») («k:define-values» («v:1st-var 2nd-var») («b:values» «:racket-selfeval-face:1» «:racket-selfeval-face:2»)) (define-thing «v:foo») «m:;»«x:bug 276 » «m:;; »«x:let: font-lock identifiers » («k:let» ([«v:foo» «:racket-selfeval-face:10»] [«v:bar» «:racket-selfeval-face:20»]) foo) («k:let» «f:loop» ([«v:x» «:racket-selfeval-face:10»]) («k:unless» («b:zero?» x) (loop («b:sub1» x)))) («k:let*» ([«v:foo» «:racket-selfeval-face:10»] [«v:bar» «:racket-selfeval-face:20»]) foo) («k:let-values» ([(«v:a» «v:b») («b:values» «:racket-selfeval-face:1» «:racket-selfeval-face:2»)]) («b:values» a b)) («k:let*-values» ([(«v:a» «v:b») («b:values» «:racket-selfeval-face:1» «:racket-selfeval-face:2»)]) («b:values» a b)) («k:letrec-values» ([(«v:a» «v:b») («b:values» «:racket-selfeval-face:1» «:racket-selfeval-face:2»)]) («b:values» a b)) («k:let-syntax» ([«v:foo» #«:racket-selfeval-face:'foo»]) foo) («k:letrec-syntax» ([«v:foo» #«:racket-selfeval-face:'foo»]) foo) («k:let-syntaxes» ([(«v:foo») #«:racket-selfeval-face:'foo»]) foo) («k:letrec-syntaxes» ([(«v:foo») #«:racket-selfeval-face:'foo»]) foo) («k:letrec-syntaxes+values» ([(«v:foo») #«:racket-selfeval-face:'foo»]) ([(a b) («b:values» «:racket-selfeval-face:1» «:racket-selfeval-face:2»)]) foo) «m:;; »«x:for/fold is indented correctly: »(«k:for/fold» ([str «s:""»]) ([ss '(«s:"a"» «s:"b"» «s:"c"»)]) («b:string-append» str ss)) «m:;; »«x:Auto-converts word `lambda` to `λ`: »(«k:lambda» (x) «:racket-selfeval-face:#t») «m:;; »«x:Or use M-C-y to insert to insert `λ` char. » «m:;; »«x:Smart indentation for quoted lists: »'(«:racket-selfeval-face:1» «:racket-selfeval-face:2» «:racket-selfeval-face:3» «:racket-selfeval-face:4») «m:;; »«x:Smart indentation for vector literals: »#(«:racket-selfeval-face:1» «:racket-selfeval-face:2» «:racket-selfeval-face:3» «:racket-selfeval-face:4») «m:;; »«x:Smart indentation for Rackjure dict literals: »(«k:module» «f:x» «v:rackjure» {«:racket-selfeval-face:'a» «:racket-selfeval-face:0» «:racket-selfeval-face:'b» «:racket-selfeval-face:2»}) «m:;; »«x:Silly test submodule example. »«m:;; »«x:Try using C-c C-f to Fold (hide) it, and C-c C-u to Unfold it. »(«k:module+» «f:test» («k:require» rackunit) (check-true «:racket-selfeval-face:#t»)) «m:;; »«x:Single line comment » «x:#| Multi-line comment |#» «m:;; »«x:Issue 362 » «x:#|aaa() |#» «x:#|(hello)|#» «m:#;»«x:(sexpr comment)» «m:;; »«x:Nested sexpr comments » («b:list» «:racket-selfeval-face:2» «m:#;»«x:2») («b:list» «:racket-selfeval-face:1» «m:#;»«x:4» «m:#;»«x:(3)») («k:let» («m:#;»«x:[x #;1]» [«v:y» «:racket-selfeval-face:2»]) y) «m:;; »«x:Issue 388 »«:racket-selfeval-face:1» «m:; »«x:#; »«:racket-selfeval-face:2» «m:;; »«x:Issue 408 » «s:"#;"»whatever «s:"#;"»(whatever) «s:"#;"» (whatever) («k:define» «v:x» «:racket-here-string-face:#<*» . «b:boolean?») («k:cond» [dns-compliant? («k:and» («b:<=» «:racket-selfeval-face:3» («b:string-length» s)) («b:<=» («b:string-length» s) «:racket-selfeval-face:63») («b:not» («b:regexp-match» «:racket-selfeval-face:#px»«s:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"» s)) («k:for/and» ([s («b:regexp-split» «:racket-selfeval-face:#rx»«s:"\\."» s)]) («k:define» («f:valid-first-or-last?» c) («k:or» («b:char-lower-case?» («b:string-ref» s «:racket-selfeval-face:0»)) («b:char-numeric?» («b:string-ref» s «:racket-selfeval-face:0»)))) («k:define» («f:valid-mid?» c) («k:or» (valid-first-or-last? c) («b:equal?» c «:racket-selfeval-face:#\-»))) («k:define» «v:len» («b:string-length» s)) («k:and» («b:<» «:racket-selfeval-face:0» len) (valid-first-or-last? («b:string-ref» s «:racket-selfeval-face:0»)) (valid-first-or-last? («b:string-ref» s («b:sub1» len))) («k:or» («b:<=» len «:racket-selfeval-face:2») («k:for/and» ([c («b:substring» s «:racket-selfeval-face:1» («b:sub1» len))]) (valid-mid? c))))))] [«k:else» («k:and» («b:<=» («b:string-length» s) «:racket-selfeval-face:255») («k:for/and» ([c s]) («k:or» («b:char-numeric?» c) («b:char-lower-case?» c) («b:char-upper-case?» c) («b:equal?» c «:racket-selfeval-face:#\.») («b:equal?» c «:racket-selfeval-face:#\-») («b:equal?» c «:racket-selfeval-face:#\_»))))])) («b:displayln» «s:"I'm running!"») «m:;; »«x:Issue 366 »#«s:"1"» #«s:"22"» #«s:"333"»