Files
rose-ash/sx/sx/specs-explorer/spec-param-list.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

25 lines
772 B
Plaintext

(defcomp
(&key params)
(div
(~tw :tokens "mt-1 flex flex-wrap gap-1")
(map
(fn
(p)
(let-match
{:type typ :name name}
p
(if
(or (= name "&rest") (= name "&key"))
(span (~tw :tokens "text-xs font-mono text-violet-500") name)
(span
(~tw
:tokens "text-xs font-mono px-1 py-0.5 rounded bg-stone-50 border border-stone-200")
(if
typ
(<>
(span (~tw :tokens "text-stone-700") name)
(span (~tw :tokens "text-stone-400") " : ")
(span (~tw :tokens "text-violet-600") typ))
(span (~tw :tokens "text-stone-700") name))))))
params)))