From 2cb7b5915203abfa628d7819ca99b7ab97f11d84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobi=20L=C3=BCtke?= Date: Thu, 19 Feb 2026 06:11:21 -0500 Subject: [PATCH] fix(cli): print timing inline after each step, not on separate line --- src/qmd.ts | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/qmd.ts b/src/qmd.ts index 7c862dc..d57b7e8 100755 --- a/src/qmd.ts +++ b/src/qmd.ts @@ -2136,18 +2136,18 @@ async function querySearch(query: string, opts: OutputOptions, _embedModel: stri minScore: opts.minScore || 0, hooks: { onEmbedStart: (count) => { - process.stderr.write(`${c.dim}Embedding ${count} ${count === 1 ? 'query' : 'queries'}...${c.reset}\n`); + process.stderr.write(`${c.dim}Embedding ${count} ${count === 1 ? 'query' : 'queries'}...${c.reset}`); }, onEmbedDone: (ms) => { - process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); + process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); }, onRerankStart: (chunkCount) => { - process.stderr.write(`${c.dim}Reranking ${chunkCount} chunks...${c.reset}\n`); + process.stderr.write(`${c.dim}Reranking ${chunkCount} chunks...${c.reset}`); progress.indeterminate(); }, onRerankDone: (ms) => { progress.clear(); - process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); + process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); }, }, }); @@ -2162,25 +2162,26 @@ async function querySearch(query: string, opts: OutputOptions, _embedModel: stri process.stderr.write(`${c.dim}Strong BM25 signal (${score.toFixed(2)}) — skipping expansion${c.reset}\n`); }, onExpandStart: () => { - process.stderr.write(`${c.dim}Expanding query...${c.reset}\n`); + process.stderr.write(`${c.dim}Expanding query...${c.reset}`); }, onExpand: (original, expanded, ms) => { + process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); logExpansionTree(original, expanded); - process.stderr.write(`${c.dim} (${formatMs(ms)}) → searching ${expanded.length + 1} queries${c.reset}\n`); + process.stderr.write(`${c.dim}Searching ${expanded.length + 1} queries...${c.reset}\n`); }, onEmbedStart: (count) => { - process.stderr.write(`${c.dim}Embedding ${count} ${count === 1 ? 'query' : 'queries'}...${c.reset}\n`); + process.stderr.write(`${c.dim}Embedding ${count} ${count === 1 ? 'query' : 'queries'}...${c.reset}`); }, onEmbedDone: (ms) => { - process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); + process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); }, onRerankStart: (chunkCount) => { - process.stderr.write(`${c.dim}Reranking ${chunkCount} chunks...${c.reset}\n`); + process.stderr.write(`${c.dim}Reranking ${chunkCount} chunks...${c.reset}`); progress.indeterminate(); }, onRerankDone: (ms) => { progress.clear(); - process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); + process.stderr.write(`${c.dim} (${formatMs(ms)})${c.reset}\n`); }, }, });