Files
rose-ash/sx/sx/handlers/spec-detail.sx
giles 4f02f82f4e HS parser: fix number+comparison keyword collision, eval-hs uses hs-compile
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>
2026-04-15 11:29:01 +00:00

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)))))))