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>
25 lines
668 B
Plaintext
25 lines
668 B
Plaintext
(defcomp
|
|
(&key d filename)
|
|
(let-match
|
|
{:kind kind :name name}
|
|
d
|
|
(div
|
|
(~tw
|
|
:tokens "flex items-center gap-2 py-1.5 px-2 rounded hover:bg-stone-50 cursor-pointer group")
|
|
:id (str "fn-" name)
|
|
:sx-get (str
|
|
"/sx/(language.(spec.(explore."
|
|
(replace filename ".sx" "")
|
|
"."
|
|
name
|
|
")))")
|
|
:sx-target "#sx-content"
|
|
:sx-select "#sx-content"
|
|
:sx-swap "innerHTML"
|
|
:sx-push-url "true"
|
|
(span
|
|
(~tw
|
|
:tokens "font-mono text-sm font-medium text-stone-800 group-hover:text-violet-700")
|
|
name)
|
|
(span (~tw :tokens "text-xs text-stone-400") kind))))
|