diff --git a/lib/tcmd/Resolver.tsx b/lib/tcmd/Resolver.tsx index 8ed11bb..0a3ce26 100644 --- a/lib/tcmd/Resolver.tsx +++ b/lib/tcmd/Resolver.tsx @@ -34,8 +34,8 @@ export function OnDemandResolver({ const res = useRef(new TTCQueryResolver(parser)); const [content, setContent] = useState(""); const generateContent = useCallback(() => { - let content = template; - const stackIdxs = Array.from(new Set(template.match(/\$\d/g))); + let content = template || "$x"; + const stackIdxs = Array.from(new Set(content.match(/\$(?:\d+|x)/g))); for (const idx of stackIdxs) { let thing = res.current.getFromStack(idx); if (Array.isArray(thing)) thing = thing.at(0); @@ -52,12 +52,16 @@ export function OnDemandResolver({ }, [res, resolver, generateContent]); return ( - <> -
{!!content && {content}} - + ); } diff --git a/lib/ttcQuery/TTCResolvers.ts b/lib/ttcQuery/TTCResolvers.ts index 010ce88..0bf84a3 100644 --- a/lib/ttcQuery/TTCResolvers.ts +++ b/lib/ttcQuery/TTCResolvers.ts @@ -165,6 +165,7 @@ export class TTCQueryResolver { } public getFromStack(stackIndex: string): StackItem { + if (stackIndex === "$x") return this.stack.at(-1)!; const i = Number(stackIndex.replace("$", "")); const val = this.stack[i]; return val;