From a57bd05be9721333290d06e673d5d6b4dcc6b826 Mon Sep 17 00:00:00 2001 From: narwhster Date: Sat, 25 Apr 2026 17:55:38 +0300 Subject: [PATCH] escape csv field commas and quotes --- src/tracker.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tracker.ts b/src/tracker.ts index f86fcc1..5c47705 100644 --- a/src/tracker.ts +++ b/src/tracker.ts @@ -238,11 +238,15 @@ export function createMarkdownTable(tracker: Tracker, settings: SimpleTimeTracke return ret; } +function createCsvCell(content: string): string { + return `"${content.replace(/"/g, '""')}"`; +} + export function createCsv(tracker: Tracker, settings: SimpleTimeTrackerSettings): string { let ret = ""; for (let entry of orderedEntries(tracker.entries, settings)) { for (let row of createTableSection(entry, settings)) - ret += row.join(settings.csvDelimiter) + "\n"; + ret += row.map(createCsvCell).join(settings.csvDelimiter) + "\n"; } return ret; }