Parser: skip unit suffix when next ident is a comparison keyword (starts, ends, contains, matches, is, does, in, precedes, follows). Fixes "123 starts with '12'" returning "123starts" instead of true. eval-hs: use hs-compile directly instead of hs-to-sx-from-source with "return " prefix, which was causing the parser to consume the comparison as a string suffix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
22 lines
663 B
Plaintext
22 lines
663 B
Plaintext
(defhandler
|
|
:path "/sx/api/spec-detail"
|
|
:method :get
|
|
:returns "element"
|
|
(&key)
|
|
(let
|
|
((filename (helper "request-arg" "file" ""))
|
|
(def-name (helper "request-arg" "name" "")))
|
|
(if
|
|
(or (= filename "") (= def-name ""))
|
|
(div
|
|
(~tw :tokens "text-sm text-stone-400 p-2")
|
|
"Missing file or name parameter")
|
|
(let
|
|
((d (spec-explore-define filename def-name)))
|
|
(if
|
|
d
|
|
(~specs-explorer/spec-explorer-define-detail :d d :filename filename)
|
|
(div
|
|
(~tw :tokens "text-sm text-stone-400 p-2")
|
|
(str "Definition '" def-name "' not found in " filename)))))))
|