|
|
|
@ -4,6 +4,7 @@
|
|
|
|
|
racket/string
|
|
|
|
|
racket/match
|
|
|
|
|
racket/list
|
|
|
|
|
racket/path
|
|
|
|
|
txexpr
|
|
|
|
|
"quad.rkt")
|
|
|
|
|
(provide (all-defined-out))
|
|
|
|
@ -102,6 +103,21 @@
|
|
|
|
|
(qexpr->quad `(q ((font "charter") (fontsize "12")) (q "Foo bar") ,(make-quad "zzz") (q "Zim Zam")))
|
|
|
|
|
(q (hasheq 'font "charter" 'fontsize 12) (q "Foo bar") (q "zzz") (q "Zim Zam")))))
|
|
|
|
|
|
|
|
|
|
(define qml-extension #".qml")
|
|
|
|
|
(define (qml-path? x)
|
|
|
|
|
(and (or (path-string? x) (path-for-some-system? x))
|
|
|
|
|
(for/or ([ext (in-list (list qml-extension
|
|
|
|
|
(string->bytes/utf-8
|
|
|
|
|
(string-upcase
|
|
|
|
|
(bytes->string/utf-8 qml-extension)))))])
|
|
|
|
|
(path-has-extension? x ext))))
|
|
|
|
|
|
|
|
|
|
(module+ test
|
|
|
|
|
(check-true (qml-path? "foo.qml"))
|
|
|
|
|
(check-true (qml-path? "foo.QML"))
|
|
|
|
|
(check-false (qml-path? "foo.QmL"))
|
|
|
|
|
(check-false (qml-path? "foo.qmla")))
|
|
|
|
|
|
|
|
|
|
(define (qml->qexpr x)
|
|
|
|
|
(parameterize ([permissive-xexprs #t]
|
|
|
|
|
[xexpr-drop-empty-attributes #t])
|
|
|
|
|