chore: sweep em dashes from our own source and README (#13)

This commit was merged in pull request #13.
This commit is contained in:
2026-10-03 22:03:00 +00:00
parent 95edbcd20b
commit f5d1ced4d6
7 changed files with 70 additions and 32 deletions
+5 -5
View File
@@ -15,8 +15,8 @@ import type { ChatTurn, ThreadMessage } from "./types";
* and a `**Lam**` header on each exchange gave both speakers the same visual
* weight and made the reader scan past chrome to reach the answer.
*
* Raycast solves the same problem with alignment — right-aligned bubbles for
* the user — but markdown offers no alignment control, so styling is the only
* Raycast solves the same problem by aligning messages: right-aligned bubbles
* for the user. Markdown offers no alignment control, so styling is the only
* lever available.
*/
@@ -66,7 +66,7 @@ function renderMessage(message: ThreadMessage, options: TranscriptOptions): stri
// The one thing allowed to break the plain-text rule, because it means
// something went wrong and should not be skimmed past.
if (message.error) sections.push("", `**Error** — ${message.error}`);
if (message.error) sections.push("", `**Error:** ${message.error}`);
if (options.showToolCalls && message.toolCalls.length > 0) {
sections.push("", renderTools(message));
@@ -129,8 +129,8 @@ export function buildThreadMarkdown(
* Unlike the transcript this reads oldest-first: as a standalone document, a
* conversation is easier to read in the order it happened.
*
* This needs labels because the transcript's styling — blockquotes and dimmed
* text — is gone by the time it reaches a clipboard.
* This needs labels because the transcript's styling (blockquotes and dimmed
* text) is gone by the time it reaches a clipboard.
*/
export function sessionToPlainText(turns: ChatTurn[]): string {
if (turns.length === 0) return "";