From ee6612bd7f40eb735645a981edd530842446c9ff Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Tue, 18 Aug 2026 13:27:08 -0500 Subject: [PATCH] Add per-author highlight colors --- CHANGELOG.md | 6 + README.md | 10 + docs/images/author-colors-document.png | Bin 0 -> 345204 bytes docs/images/author-colors-settings.png | Bin 0 -> 112553 bytes src/author-colors.ts | 173 ++++++++++++++++ src/author-index.ts | 198 ++++++++++++++++++ src/editor/config.ts | 9 +- src/editor/layout.ts | 24 ++- src/editor/margin.ts | 6 +- src/editor/state.ts | 20 +- src/editor/table-highlights.ts | 78 ++++++- src/format/serialize.ts | 3 +- src/main.ts | 268 +++++++++++++++++++++++-- src/reading/highlight.ts | 27 ++- src/reading/margin.ts | 28 ++- src/settings-storage.ts | 28 +++ src/settings.ts | 193 +++++++++++++++++- src/ui/card.ts | 21 +- src/ui/sidebar.ts | 9 +- src/util/dom.ts | 7 + styles.css | 38 ++-- test/author-colors.test.ts | 125 ++++++++++++ test/author-index.test.ts | 140 +++++++++++++ test/card.test.ts | 33 +++ test/decorations.test.ts | 77 ++++++- test/dom.test.ts | 21 ++ test/editor-view.test.ts | 31 +++ test/obsidian-mock.ts | 187 ++++++++++++++++- test/plugin-settings.test.ts | 87 ++++++++ test/reading-highlight.test.ts | 36 ++++ test/reading-margin.test.ts | 127 ++++++++++++ test/settings-storage.test.ts | 43 ++++ test/settings.test.ts | 156 ++++++++++++++ test/styles.test.ts | 49 +++++ test/table-highlights.test.ts | 31 ++- 35 files changed, 2204 insertions(+), 85 deletions(-) create mode 100644 docs/images/author-colors-document.png create mode 100644 docs/images/author-colors-settings.png create mode 100644 src/author-colors.ts create mode 100644 src/author-index.ts create mode 100644 src/settings-storage.ts create mode 100644 src/util/dom.ts create mode 100644 test/author-colors.test.ts create mode 100644 test/author-index.test.ts create mode 100644 test/dom.test.ts create mode 100644 test/plugin-settings.test.ts create mode 100644 test/reading-margin.test.ts create mode 100644 test/settings-storage.test.ts create mode 100644 test/settings.test.ts create mode 100644 test/styles.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index ec4b68c..ced0030 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ matching the pushed tag as that GitHub release's notes, so add an entry here bef ## Unreleased +- Added persistent per-author highlight colors. The settings page discovers comment and reply authors across the vault, assigns distinct Radix colors automatically, supports custom colors through Obsidian's built-in picker, colors author names on comment cards, can disable colors without losing assignments, and can delete individual mappings so those authors use the normal theme color. Resolved highlights keep a dashed creator-colored underline ([#67](https://github.com/kylemcd/obsidian-document-comments/issues/67)). +- Removed the per-author Reset icon. Color rows now expose only the picker and a trash-can action; an uncolored author can receive a new automatic assignment from the Uncolored section. +- Turning off **Use author colors** now restores the original yellow document highlights while keeping author names neutral and preserving saved color assignments. +- **Use author colors** now defaults to off. The initial vault scan still generates and persists mappings for existing comment authors, so enabling it later applies colors immediately. +- The **Highlight colors** settings section is hidden while **Use author colors** is off; saved mappings remain intact and reappear when it is enabled. + ## 0.1.12 - Added an **Allow empty comments** setting. An empty comment highlights its selected text and shows an editable **Empty** card. Run **Add comment** on the same text to add text or delete the comment ([#52](https://github.com/kylemcd/obsidian-document-comments/issues/52)). diff --git a/README.md b/README.md index e8f9228..0d41f09 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,16 @@ Open **Settings → Document Comments**. Set **Author** to the name that the plu The plugin uses `me` when the Author setting is empty. +### Set highlight colors + +Enable **Use author colors** in **Settings → Document Comments** to reveal the **Highlight colors** section and see every person whose name appears in a comment thread. The setting is off by default, and the color section stays hidden while it is off. Use Obsidian's color picker to choose a custom color. The same color identifies each person in document highlights and beside their comments and replies. Turn the setting off to restore the original yellow document highlights and render names with the normal theme color without deleting any saved assignments. + +Document Comments assigns colors during its initial vault scan even while author colors are off, so enabling them works immediately for existing comments. It uses a 12-color Radix palette without repeating a color until every palette color is in use. Generated and custom assignments are stored locally in the plugin's `data.json`; they do not change the Markdown comment format and do not need to be shared with collaborators. + +Resolved highlights keep the creator's color as a dashed underline. Creators whose highlights are no longer present remain listed under **Not currently found**, so their color returns if their comments reappear. + +Use the trash-can button beside a person to remove their assignment. Deleted mappings are not automatically recreated; those people use the normal theme color and appear under **Uncolored**, where **Assign color** creates a new automatically generated color. + ## Desktop and mobile behavior Desktop views show cards in a margin beside the note. The cards align with their selected text and avoid overlaps. diff --git a/docs/images/author-colors-document.png b/docs/images/author-colors-document.png new file mode 100644 index 0000000000000000000000000000000000000000..5ded342d0cc19e8f93f34560f747d08881390daa GIT binary patch literal 345204 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 z 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 LJywO=4#fTs>(PBb literal 0 HcmV?d00001 diff --git a/docs/images/author-colors-settings.png b/docs/images/author-colors-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..c08adde661a936a058211584d7f19b5c44e4df1c GIT binary patch literal 112553 zcmeEuXH-+|wk|3HDuM!nAc#uuLg*a@q*v)pM0#(bgQ!&LMF=5)(t8QLDpg8AYUn{q z=s^fAguspa>^<&1d;6X5&;5CRWQ@gPX1(j3YnEp|bFM^bX}q|7lkO$~0l{r$C3zhJ z0wN~@0>Us7BK(;za5S8NfK=W7`ExDh=g%K$dAQoxJ6RJDC`F|j5F6_DQ)ijzJSHTO zmsQzNzmrHIt3twa825Yj@$Ct*nAD%Q35HQm%dwn)dAl}y`SSr6- z%*{yfh3WtaJ;+ySrGCvo>vdBx`oI*gL&yQfiO4 zhP<$~5sb|Eeut`g#cN+uN5e_zo5$4y>6VKR*M>-RUwcO)RK}QcA59Sv^z?Mf1+duI za6F@Ud0Z4LI~*ov$KA9^^WT3x27e)SPZ%RYl9%6EM=w8~ zdf%wXOdj)~MvN7FS3(k1M@pLp=$2Uc6)i24*V1;k{2&VZPUXhrxqrf zBb#~uMm14);z4F()no8PC%4OLRjk_G(wLsBuR%%_JC$R71AsSj)z6Q;{SJOkS6dmq zHebEdo|1i!@yo!yW2LW*hm5`Nj-r?|KUgv(26~*jaX-_R&EW)Qawjo&7yFuOX6!MR zZhf3n_RNjgaSzdUsY()gFKTXnM`XU?5u=7is(!fvZ!+ByrTz-8bErzaq&?33?N5mDb=8 z=&l`_@N1x7j}`ePpL~>dQYK|4y7N3zPTpjm;N)A|FE`(#_mi}?D-XNe1FP92S-mJ8 z-l?EyCJ`z8`0-6{YYc&zmW&;{%%;UUal^ZeibfgK?a9vq!`-*vUPE2&`?=Ka_Qv45 zN5r|lO_-1h*7a`SQF!SqRDH7C2`gGwEGVCRJ70)Y9N(k?`(CKilo5G!`s7+KSy5^YyFo@6ZZcDTdG0LvCDFLGoz)$pw;nic+@g68X$2Pv z6nCp(RfM25o{W_A{5JB8j`BW(i+~F3RS7P?nEr~ihP
. Each line is wrapped separately — a whole-line match sits in one
 		// text node for plain code blocks (syntax-highlighted blocks split it across
@@ -103,7 +116,9 @@ export const highlightPostProcessor = (el: HTMLElement, ctx: MarkdownPostProcess
 			const target = resolveCodeAnchor(text, c);
 			if (!target || target.from < sectionFrom || target.from >= sectionTo) continue;
 			for (const lineText of text.slice(target.from, target.to).split("\n")) {
-				if (lineText.trim()) wrapFirstMatch(el, lineText, c.id, c.status === "resolved", commentPreview(c));
+				if (lineText.trim()) {
+					wrapFirstMatch(el, lineText, c.id, c.status === "resolved", commentPreview(c), author, color);
+				}
 			}
 			continue;
 		}
@@ -117,10 +132,10 @@ export const highlightPostProcessor = (el: HTMLElement, ctx: MarkdownPostProcess
 		const codeText = inlineCodeText(quote);
 		if (codeText !== null) {
 			const code = inlineCodeElement(el, sectionSource, range.from - sectionFrom, codeText);
-			if (code) wrapFirstMatch(code, codeText, c.id, c.status === "resolved", preview);
+			if (code) wrapFirstMatch(code, codeText, c.id, c.status === "resolved", preview, author, color);
 			continue;
 		}
-		wrapFirstMatch(el, quote, c.id, c.status === "resolved", preview);
+		wrapFirstMatch(el, quote, c.id, c.status === "resolved", preview, author, color);
 	}
 };
 
@@ -339,6 +354,8 @@ const wrapFirstMatch = (
 	id: string,
 	resolved: boolean,
 	title: string | null,
+	author: string,
+	color: ResolvedAuthorColor | undefined,
 ): boolean => {
 	const doc = root.ownerDocument;
 	const walker = doc.createTreeWalker(root, NodeFilter.SHOW_TEXT);
@@ -354,6 +371,8 @@ const wrapFirstMatch = (
 			});
 			span.detach();
 			span.setAttribute("data-cid", id);
+			span.setAttribute("data-dc-author", author);
+			if (color !== undefined) span.style.setProperty("--dc-highlight-color", authorColorCss(color));
 			if (title) span.setAttribute("title", title);
 			try {
 				range.surroundContents(span);
diff --git a/src/reading/margin.ts b/src/reading/margin.ts
index 3b487ae..6ddddc9 100644
--- a/src/reading/margin.ts
+++ b/src/reading/margin.ts
@@ -19,10 +19,14 @@ import { stackTops } from "../ui/stack";
 import { CARD_GAP, FLASH_MS } from "../ui/constants";
 import { buildDraftComposer } from "../ui/draft-composer";
 import { EmptySubmitAction } from "../ui/draft-behavior";
+import { authorColorCss, type AuthorColorResolver } from "../author-colors";
+import { isHtmlElement } from "../util/dom";
 
 export type ReadingDeps = {
 	app: App;
 	getAuthor: () => string;
+	colorForAuthor: AuthorColorResolver;
+	highlightColorForAuthor: AuthorColorResolver;
 	showComments: () => boolean;
 	showResolved: () => boolean;
 	allowEmptyComments: () => boolean;
@@ -138,15 +142,21 @@ class ReadingMargin {
 				if (this.activeId === id) this.activeId = null;
 			}
 		}
-		const cardView = { app: this.deps.app, sourcePath: () => this.view.file?.path ?? "", collapsible: true };
+		const cardView = {
+			app: this.deps.app,
+			sourcePath: () => this.view.file?.path ?? "",
+			collapsible: true,
+			colorForAuthor: this.deps.colorForAuthor,
+		};
 		for (const c of this.comments) {
 			const existing = this.cards.get(c.id);
 			if (!existing) {
 				const card = new Card(c, this.cb, cardView);
 				this.cards.set(c.id, card);
 				this.container.appendChild(card.el);
-			} else if (existing.signature !== cardSignature(c)) {
-				existing.update(c);
+			} else {
+				if (existing.signature !== cardSignature(c)) existing.update(c);
+				existing.refreshAuthorColors();
 			}
 		}
 		this.readingView.toggleClass("dc-hide-resolved", !this.deps.showResolved());
@@ -154,6 +164,9 @@ class ReadingMargin {
 
 	private position(): void {
 		if (this.destroyed) return;
+		const draftColor = authorColorCss(this.deps.highlightColorForAuthor(this.deps.getAuthor()));
+		this.readingView.style.setProperty("--dc-highlight-color", draftColor);
+		this.readingView.style.setProperty("--dc-draft-highlight-color", draftColor);
 		// State classes live on the reading-view container (Obsidian-owned, safe to
 		// write directly), so the stylesheet caps the text column with plain
 		// descendant selectors instead of :has().
@@ -343,7 +356,7 @@ class ReadingMargin {
 		if (!card) return;
 		window.requestAnimationFrame(() => {
 			const box = card.el.querySelector(".dc-field--composer");
-			if (!(box instanceof HTMLElement)) return;
+			if (!isHtmlElement(box)) return;
 			const c = box.getBoundingClientRect();
 			const s = this.scroller.getBoundingClientRect();
 			let delta = 0;
@@ -420,7 +433,7 @@ export class ReadingMarginManager {
 			const view = leaf.view;
 			if (!(view instanceof MarkdownView) || view.getMode() !== "preview") continue;
 			const rv = view.containerEl.querySelector(".markdown-reading-view");
-			if (!(rv instanceof HTMLElement)) continue;
+			if (!isHtmlElement(rv)) continue;
 			active.add(rv);
 			if (mobile) {
 				// Mobile: no floating cards or reserved column. Just keep the in-text
@@ -429,6 +442,9 @@ export class ReadingMarginManager {
 				rv.toggleClass("dc-highlights", this.deps.showComments());
 				rv.toggleClass("dc-hide-resolved", !this.deps.showResolved());
 				rv.removeClasses(["dc-has", "dc-margin"]);
+				const draftColor = authorColorCss(this.deps.highlightColorForAuthor(this.deps.getAuthor()));
+				rv.style.setProperty("--dc-highlight-color", draftColor);
+				rv.style.setProperty("--dc-draft-highlight-color", draftColor);
 				continue;
 			}
 			let margin = this.margins.get(rv);
@@ -457,7 +473,7 @@ export class ReadingMarginManager {
 		targetHighlightId?: string,
 	): void {
 		const rv = view.containerEl.querySelector(".markdown-reading-view");
-		if (!(rv instanceof HTMLElement)) return;
+		if (!isHtmlElement(rv)) return;
 		let margin = this.margins.get(rv);
 		if (!margin) {
 			margin = new ReadingMargin(rv, view, this.deps);
diff --git a/src/settings-storage.ts b/src/settings-storage.ts
new file mode 100644
index 0000000..814955b
--- /dev/null
+++ b/src/settings-storage.ts
@@ -0,0 +1,28 @@
+import { Result } from "better-result";
+
+export type SettingsStorageError =
+	| { type: "settings_load_failed"; message: string }
+	| { type: "settings_save_failed"; message: string };
+
+const errorMessage = (error: unknown): string => {
+	return error instanceof Error ? error.message : "Unknown settings storage error";
+};
+
+export const loadSettingsData = async (
+	loadData: () => Promise,
+): Promise> => {
+	return Result.tryPromise({
+		try: loadData,
+		catch: (error) => ({ type: "settings_load_failed", message: errorMessage(error) }),
+	});
+};
+
+export const saveSettingsData = async (
+	saveData: (data: unknown) => Promise,
+	data: unknown,
+): Promise> => {
+	return Result.tryPromise({
+		try: () => saveData(data),
+		catch: (error) => ({ type: "settings_save_failed", message: errorMessage(error) }),
+	});
+};
diff --git a/src/settings.ts b/src/settings.ts
index 326d48d..099ba12 100644
--- a/src/settings.ts
+++ b/src/settings.ts
@@ -1,5 +1,6 @@
-import { App, PluginSettingTab, Setting, type SettingDefinitionItem } from "obsidian";
+import { App, PluginSettingTab, Setting, type SettingDefinition, type SettingDefinitionItem } from "obsidian";
 import type DocCommentsPlugin from "./main";
+import type { AuthorColorAssignments } from "./author-colors";
 
 export type DocCommentsSettings = {
 	/** Author handle attached to comments you create. Empty falls back to "me". */
@@ -10,6 +11,12 @@ export type DocCommentsSettings = {
 	showResolved: boolean;
 	/** Allow a blank comment to persist with an empty comment card. */
 	allowEmptyComments: boolean;
+	/** Apply stored per-author colors to highlights and author names. */
+	authorColorsEnabled: boolean;
+	/** Local, persistent colors keyed by the canonical original highlight creator. */
+	authorColors: AuthorColorAssignments;
+	/** Authors whose generated mapping was explicitly deleted. */
+	excludedAuthorColors: string[];
 };
 
 export const DEFAULT_SETTINGS: DocCommentsSettings = {
@@ -17,9 +24,12 @@ export const DEFAULT_SETTINGS: DocCommentsSettings = {
 	showComments: true,
 	showResolved: false,
 	allowEmptyComments: false,
+	authorColorsEnabled: false,
+	authorColors: {},
+	excludedAuthorColors: [],
 };
 
-type DocCommentsSettingKey = keyof DocCommentsSettings;
+type DocCommentsSettingKey = Exclude;
 
 type TextControl = { type: "text"; placeholder: string };
 type ToggleControl = { type: "toggle" };
@@ -63,6 +73,13 @@ const SETTING_META: ReadonlyArray<{
 		aliases: ["empty comments", "comment-free highlights"],
 		control: { type: "toggle" },
 	},
+	{
+		key: "authorColorsEnabled",
+		name: "Use author colors",
+		desc: "Color highlights and author names by person. Turning this off restores yellow highlights and keeps every saved assignment.",
+		aliases: ["highlight colors", "people colors", "disable colors"],
+		control: { type: "toggle" },
+	},
 ];
 
 export class DocCommentsSettingTab extends PluginSettingTab {
@@ -73,8 +90,8 @@ export class DocCommentsSettingTab extends PluginSettingTab {
 		super(app, plugin);
 	}
 
-	getSettingDefinitions(): SettingDefinitionItem[] {
-		return SETTING_META.map((meta) => ({
+	getSettingDefinitions(): SettingDefinitionItem[] {
+		const base: SettingDefinitionItem[] = SETTING_META.map((meta) => ({
 			name: meta.name,
 			desc: meta.desc,
 			aliases: meta.aliases,
@@ -88,6 +105,10 @@ export class DocCommentsSettingTab extends PluginSettingTab {
 						}
 					: { type: "toggle", key: meta.key, defaultValue: DEFAULT_SETTINGS[meta.key] as boolean },
 		}));
+		const settingsError = this.plugin.settingsError();
+		if (settingsError) base.push(this.settingsErrorDefinition(settingsError));
+		if (!this.plugin.settings.authorColorsEnabled) return base;
+		return [...base, this.authorColorGroup()];
 	}
 
 	async setControlValue(key: string, value: unknown): Promise {
@@ -95,8 +116,12 @@ export class DocCommentsSettingTab extends PluginSettingTab {
 	}
 
 	display(): void {
+		this.renderLegacy();
+	}
+
+	private renderLegacy(): void {
 		const { containerEl } = this;
-		containerEl.empty();
+		containerEl.replaceChildren();
 		for (const meta of SETTING_META) {
 			const setting = new Setting(containerEl).setName(meta.name).setDesc(meta.desc);
 			if (meta.control.type === "text") {
@@ -115,17 +140,165 @@ export class DocCommentsSettingTab extends PluginSettingTab {
 				);
 			}
 		}
+		const settingsError = this.plugin.settingsError();
+		if (settingsError) new Setting(containerEl).setName("Settings error").setDesc(settingsError);
+		if (!this.plugin.settings.authorColorsEnabled) return;
+
+		new Setting(containerEl).setName("Highlight colors").setHeading();
+		this.configureIndexStatus(new Setting(containerEl));
+		const { active, missing, uncolored } = this.plugin.authorColorView();
+		active.forEach((author) => this.configureAuthorColorRow(new Setting(containerEl), author, false));
+		if (missing.length > 0) {
+			new Setting(containerEl).setName("Not currently found").setHeading();
+			missing.forEach((author) => this.configureAuthorColorRow(new Setting(containerEl), author, true));
+		}
+		if (uncolored.length === 0) return;
+		new Setting(containerEl).setName("Uncolored").setHeading();
+		uncolored.forEach((author) => this.configureUncoloredAuthorRow(new Setting(containerEl), author));
 	}
 
-	/** Persist one setting and run its side effects (editor refresh, ribbon sync).
-	 *  Shared by both the declarative and imperative settings paths. */
-	private async applySetting(key: DocCommentsSettingKey, value: unknown): Promise {
+	refresh(): void {
+		const dynamicTab = this as unknown as { update?: () => void };
+		if (dynamicTab.update) {
+			dynamicTab.update();
+			return;
+		}
+		this.renderLegacy();
+	}
+
+	private authorColorGroup(): SettingDefinitionItem {
+		const { active, missing, uncolored } = this.plugin.authorColorView();
+		const authorRow = (author: string, unavailable: boolean): SettingDefinition => ({
+			name: author,
+			desc: unavailable ? "This creator is not currently found in the vault." : undefined,
+			render: (setting) => this.configureAuthorColorRow(setting, author, unavailable),
+		});
+		const uncoloredRow = (author: string): SettingDefinition => ({
+			name: author,
+			desc: "No color assigned. Uses the normal theme text color.",
+			render: (setting) => this.configureUncoloredAuthorRow(setting, author),
+		});
+		const missingHeading: SettingDefinition[] =
+			missing.length === 0
+				? []
+				: [
+						{
+							name: "Not currently found",
+							searchable: false,
+							render: (setting) => {
+								setting.setName("Not currently found").setHeading();
+							},
+						},
+					];
+		const uncoloredHeading: SettingDefinition[] =
+			uncolored.length === 0
+				? []
+				: [
+						{
+							name: "Uncolored",
+							searchable: false,
+							render: (setting) => {
+								setting.setName("Uncolored").setHeading();
+							},
+						},
+					];
+		return {
+			type: "group",
+			heading: "Highlight colors",
+			items: [
+				{
+					name: "Highlight color index",
+					searchable: false,
+					render: (setting) => this.configureIndexStatus(setting),
+				},
+				...active.map((author) => authorRow(author, false)),
+				...missingHeading,
+				...missing.map((author) => authorRow(author, true)),
+				...uncoloredHeading,
+				...uncolored.map(uncoloredRow),
+			],
+		};
+	}
+
+	private configureIndexStatus(setting: Setting): void {
+		const { state, saveError } = this.plugin.authorColorView();
+		const description =
+			state.status === "idle"
+				? "Waiting to scan Markdown files for highlight creators."
+				: state.status === "scanning"
+					? "Scanning Markdown files for highlight creators…"
+					: state.status === "partial"
+						? `Found creators, but ${state.errors.length} file${state.errors.length === 1 ? "" : "s"} could not be read.`
+						: "Colors are stored locally in this plugin's data.json file.";
+		setting.setName("Creators").setDesc(saveError ? `${description} ${saveError}` : description);
+		setting.addButton((button) =>
+			button
+				.setButtonText("Rescan")
+				.setDisabled(state.status === "scanning")
+				.onClick(() => void this.plugin.rescanAuthors()),
+		);
+	}
+
+	private configureAuthorColorRow(setting: Setting, author: string, unavailable: boolean): void {
+		const assignment = this.plugin.settings.authorColors[author];
+		if (!assignment) return;
+		setting.settingEl.classList.add("dc-author-color-setting");
+		const row = setting.setName(author);
+		if (unavailable) row.setDesc("This creator is not currently found in the vault.");
+		row.addColorPicker((picker) =>
+			picker.setValue(assignment.color).onChange((value) => void this.plugin.setAuthorColor(author, value)),
+		);
+		row.addExtraButton((button) =>
+			button
+				.setIcon("trash-2")
+				.setTooltip("Delete this color assignment")
+				.onClick(() => void this.plugin.deleteAuthorColor(author)),
+		);
+	}
+
+	private configureUncoloredAuthorRow(setting: Setting, author: string): void {
+		setting.settingEl.classList.add("dc-author-color-setting");
+		setting
+			.setName(author)
+			.setDesc("No color assigned. Uses the normal theme text color.")
+			.addButton((button) =>
+				button.setButtonText("Assign color").onClick(() => void this.plugin.restoreAuthorColor(author)),
+			);
+	}
+
+	private settingsErrorDefinition(message: string): SettingDefinition {
+		return {
+			name: "Settings error",
+			desc: message,
+			searchable: false,
+			render: (setting) => {
+				setting.setName("Settings error").setDesc(message);
+			},
+		};
+	}
+
+	private assignSetting(key: DocCommentsSettingKey, value: unknown): void {
 		if (key === "author") this.plugin.settings.author = String(value);
 		else if (key === "showComments") this.plugin.settings.showComments = Boolean(value);
 		else if (key === "showResolved") this.plugin.settings.showResolved = Boolean(value);
 		else if (key === "allowEmptyComments") this.plugin.settings.allowEmptyComments = Boolean(value);
-		await this.plugin.saveSettings();
-		if (key !== "author") this.plugin.refreshEditors();
+		else if (key === "authorColorsEnabled") this.plugin.settings.authorColorsEnabled = Boolean(value);
+	}
+
+	/** Persist one setting and run its side effects (editor refresh, ribbon sync).
+	 *  Shared by both the declarative and imperative settings paths. */
+	private async applySetting(key: DocCommentsSettingKey, value: unknown): Promise {
+		const previous = this.plugin.settings[key];
+		this.assignSetting(key, value);
+		const saved = await this.plugin.saveSettings();
+		if (saved.isErr()) {
+			this.assignSetting(key, previous);
+			this.refresh();
+			return;
+		}
+		if (key === "author") this.plugin.ensureCurrentAuthorColor();
+		this.plugin.refreshEditors();
 		if (key === "showComments") this.plugin.updateRibbon();
+		this.refresh();
 	}
 }
diff --git a/src/ui/card.ts b/src/ui/card.ts
index 4af087f..2f7aa12 100644
--- a/src/ui/card.ts
+++ b/src/ui/card.ts
@@ -1,5 +1,6 @@
 import { App, Component, MarkdownRenderer, Menu, setIcon } from "obsidian";
 import type { Result } from "better-result";
+import type { AuthorColorResolver } from "../author-colors";
 import { ParsedComment } from "../format/types";
 import { CardEntry, cardEntries, cardSignature, formatRelativeTime } from "./card-format";
 
@@ -42,6 +43,7 @@ export type CardView = {
 	/** Collapse a tall card to a "Show more" preview. Margin only — the sidebar
 	 *  scrolls its list, so sidebar cards stay full height. */
 	collapsible?: boolean;
+	colorForAuthor?: AuthorColorResolver;
 };
 
 /** A single margin comment card with the full Notion-style interaction set. */
@@ -128,6 +130,18 @@ export class Card {
 		this.el.toggleClass("is-active", active);
 	}
 
+	refreshAuthorColors(): void {
+		const colorForAuthor = this.view.colorForAuthor;
+		if (!colorForAuthor) return;
+		this.el.querySelectorAll(".dc-entry__author[data-dc-author]").forEach((authorEl) => {
+			const author = authorEl.dataset.dcAuthor;
+			if (!author) return;
+			const color = colorForAuthor(author);
+			if (color) authorEl.style.setProperty("--dc-author-color", color);
+			else authorEl.style.removeProperty("--dc-author-color");
+		});
+	}
+
 	private setOpen(open: boolean): void {
 		if (this.open === open) return;
 		const fromHeight = this.clipEl?.offsetHeight ?? 0;
@@ -181,6 +195,7 @@ export class Card {
 		const thread = clip.createDiv("dc-thread");
 		this.threadEl = thread;
 		cardEntries(c).forEach((entry, i) => this.renderEntry(thread, entry, i));
+		this.refreshAuthorColors();
 		if (this.open && this.editingIndex < 0) this.renderComposer(clip);
 
 		this.footEl = this.el.createDiv("dc-card-foot");
@@ -270,7 +285,11 @@ export class Card {
 		this.iconButton(bar, "more-horizontal", "More", (e) => this.openMoreMenu(e, i));
 
 		const head = row.createDiv("dc-entry__head");
-		head.createSpan({ cls: "dc-entry__author", text: entry.author || "—" });
+		head.createSpan({
+			cls: "dc-entry__author",
+			text: entry.author || "—",
+			attr: entry.author ? { "data-dc-author": entry.author } : undefined,
+		});
 		const time = formatRelativeTime(entry.timestamp ?? (i === 0 ? this.comment.createdAt : undefined));
 		if (time) head.createSpan({ cls: "dc-entry__time", text: time });
 
diff --git a/src/ui/sidebar.ts b/src/ui/sidebar.ts
index 23602c0..68283a0 100644
--- a/src/ui/sidebar.ts
+++ b/src/ui/sidebar.ts
@@ -1,6 +1,7 @@
 import { App, Debouncer, ItemView, MarkdownView, Notice, TFile, WorkspaceLeaf, debounce } from "obsidian";
 import { EditorView } from "@codemirror/view";
 import { Result } from "better-result";
+import type { AuthorColorResolver } from "../author-colors";
 import { ParsedComment } from "../format/types";
 import { anchorRange, hasCommentCard, parseComments } from "../format/parse";
 import { Card, CardCallbacks } from "./card";
@@ -24,6 +25,7 @@ export const COMMENTS_VIEW_TYPE = "document-comments-sidebar";
 export type SidebarDeps = {
 	app: App;
 	getAuthor: () => string;
+	colorForAuthor: AuthorColorResolver;
 };
 
 /** Panel-local status filter — independent of the document's resolved setting. */
@@ -234,7 +236,11 @@ export class CommentsSidebarView extends ItemView {
 				this.cards.delete(id);
 			}
 		}
-		const cardView = { app: this.app, sourcePath: () => this.file?.path ?? "" };
+		const cardView = {
+			app: this.app,
+			sourcePath: () => this.file?.path ?? "",
+			colorForAuthor: this.deps.colorForAuthor,
+		};
 		const desired: HTMLElement[] = [];
 		for (const c of comments) {
 			const existing = this.cards.get(c.id);
@@ -244,6 +250,7 @@ export class CommentsSidebarView extends ItemView {
 				desired.push(card.el);
 			} else {
 				if (existing.signature !== cardSignature(c)) existing.update(c);
+				existing.refreshAuthorColors();
 				desired.push(existing.el);
 			}
 		}
diff --git a/src/util/dom.ts b/src/util/dom.ts
new file mode 100644
index 0000000..75a931f
--- /dev/null
+++ b/src/util/dom.ts
@@ -0,0 +1,7 @@
+export const isHtmlElement = (value: unknown): value is HTMLElement => {
+	if (typeof value !== "object" || value === null) return false;
+	const node = value as Node;
+	const htmlElement = node.ownerDocument?.defaultView?.HTMLElement;
+	if (htmlElement) return value instanceof htmlElement;
+	return node.nodeType === 1;
+};
diff --git a/styles.css b/styles.css
index 1d25238..4b5ef25 100644
--- a/styles.css
+++ b/styles.css
@@ -6,9 +6,15 @@ body {
 	--dc-margin-width: 320px;
 	--dc-card-pad: 16px;
 	--dc-card-gap: 8px;
-	--dc-highlight-bg: hsla(45, 90%, 50%, 0.18);
-	--dc-highlight-bg-active: hsla(45, 90%, 50%, 0.38);
-	--dc-highlight-border: hsla(45, 90%, 45%, 0.7);
+	--dc-highlight-color: var(--text-normal);
+	--dc-highlight-bg: color-mix(in srgb, var(--dc-highlight-color) 18%, transparent);
+	--dc-highlight-bg-active: color-mix(in srgb, var(--dc-highlight-color) 38%, transparent);
+	--dc-highlight-border: color-mix(in srgb, var(--dc-highlight-color) 70%, transparent);
+}
+
+.dc-author-color-setting {
+	align-items: center;
+	padding-block: 10px;
 }
 
 /* Layout is keyed on a `dc-has` class set on the editor / reading-view container.
@@ -52,6 +58,9 @@ body {
 
 /* The highlighted span in the text. */
 .doc-comment-span {
+	--dc-highlight-bg: color-mix(in srgb, var(--dc-highlight-color) 18%, transparent);
+	--dc-highlight-bg-active: color-mix(in srgb, var(--dc-highlight-color) 38%, transparent);
+	--dc-highlight-border: color-mix(in srgb, var(--dc-highlight-color) 70%, transparent);
 	background-color: var(--dc-highlight-bg);
 	border-bottom: 2px solid var(--dc-highlight-border);
 	border-radius: 2px;
@@ -82,19 +91,10 @@ body {
 }
 .doc-comment-span.is-resolved {
 	background-color: transparent;
-	border-bottom: 1px dashed var(--text-faint);
-}
-/* Obsidian renders Live Preview tables as nested editor widgets, outside the
-   parent CodeMirror decoration tree. The table view plugin maps comment anchors
-   into those cells and exposes non-mutating CSS Custom Highlight ranges. */
-::highlight(document-comments-table) {
-	background-color: hsla(45, 90%, 50%, 0.18);
-	text-decoration: underline;
-}
-::highlight(document-comments-table-resolved) {
-	background-color: hsla(0, 0%, 50%, 0.12);
-	text-decoration: underline;
+	border-bottom: 1px dashed var(--dc-highlight-border);
 }
+/* Live Preview table rules are generated per owner document because CSS Custom
+   Highlight ranges cannot carry per-range custom properties. */
 /* A selected no-space marker needs distinct caret endpoints, but the raw HTML
    comment must never become visible or take layout width (especially in tables). */
 .dc-comment-marker {
@@ -250,7 +250,10 @@ body {
 }
 .dc-entry__author {
 	font-weight: var(--font-semibold);
-	color: var(--text-normal);
+	color: color-mix(in srgb, var(--dc-author-color, var(--text-normal)) 40%, var(--text-normal));
+}
+.theme-dark .dc-entry__author {
+	color: color-mix(in srgb, var(--dc-author-color, var(--text-normal)) 70%, var(--text-normal));
 }
 .dc-entry__time {
 	color: var(--text-muted);
@@ -513,8 +516,9 @@ body {
 }
 /* The text being commented on, highlighted while the draft is open. */
 .doc-comment-span.dc-draft {
+	--dc-highlight-color: var(--dc-draft-highlight-color, var(--text-normal));
 	background-color: var(--dc-highlight-bg-active);
-	border-bottom-color: var(--interactive-accent);
+	border-bottom-color: var(--dc-highlight-border);
 }
 
 /* ── "All discussions" sidebar panel ───────────────────────────────────── */
diff --git a/test/author-colors.test.ts b/test/author-colors.test.ts
new file mode 100644
index 0000000..14f3dd9
--- /dev/null
+++ b/test/author-colors.test.ts
@@ -0,0 +1,125 @@
+import { describe, expect, test } from "vitest";
+import {
+	AUTHOR_COLOR_PALETTE,
+	canonicalAuthorKey,
+	commentersForComments,
+	creatorsForComments,
+	effectiveHighlightColor,
+	ensureAuthorColor,
+	ensureAuthorColors,
+	hydrateAuthorColors,
+	hydrateExcludedAuthors,
+	resetAuthorColor,
+	resolveAuthorColor,
+	type AuthorColorAssignments,
+} from "../src/author-colors";
+import { parseComments } from "../src/format/parse";
+
+describe("author highlight colors", () => {
+	test("assigns every palette color before reusing one", () => {
+		const assignments: AuthorColorAssignments = {};
+		const firstTwelve = Array.from(
+			{ length: AUTHOR_COLOR_PALETTE.length },
+			(_, index) => ensureAuthorColor(assignments, `author-${index}`).assignment.color,
+		);
+
+		expect(new Set(firstTwelve)).toEqual(new Set(AUTHOR_COLOR_PALETTE));
+		expect(firstTwelve).toHaveLength(new Set(firstTwelve).size);
+		expect(AUTHOR_COLOR_PALETTE).toContain(ensureAuthorColor(assignments, "author-12").assignment.color);
+	});
+
+	test("reserves a palette color used by a manual override", () => {
+		const assignments: AuthorColorAssignments = {
+			custom: { color: AUTHOR_COLOR_PALETTE[0], mode: "custom" },
+		};
+
+		expect(ensureAuthorColor(assignments, "generated").assignment.color).toBe(AUTHOR_COLOR_PALETTE[1]);
+	});
+
+	test("assigns colors to every existing discovered author while the feature is off", () => {
+		const assignments: AuthorColorAssignments = {};
+
+		expect(ensureAuthorColors(assignments, ["Carol", "Alice", "Bob"], new Set())).toBe(true);
+		expect(Object.keys(assignments)).toEqual(["Alice", "Bob", "Carol"]);
+		expect(new Set(Object.values(assignments).map(({ color }) => color)).size).toBe(3);
+	});
+
+	test("persists generated assignments and resets custom colors", () => {
+		const assignments: AuthorColorAssignments = {};
+		const original = ensureAuthorColor(assignments, "Kyle McDonald").assignment;
+		const reloaded = hydrateAuthorColors(JSON.parse(JSON.stringify(assignments)));
+
+		expect(ensureAuthorColor(reloaded, "Kyle McDonald")).toEqual({
+			author: "Kyle_McDonald",
+			assignment: original,
+			created: false,
+		});
+		reloaded.Kyle_McDonald = { color: "#abcdef", mode: "custom" };
+		expect(resetAuthorColor(reloaded, "Kyle McDonald").mode).toBe("generated");
+	});
+
+	test("normalizes valid stored colors and discards malformed assignments", () => {
+		expect(
+			hydrateAuthorColors({
+				Alice: { color: "#AABBCC", mode: "custom" },
+				Bob: { color: "blue", mode: "generated" },
+				Carol: { color: "#123456", mode: "unknown" },
+			}),
+		).toEqual({ Alice: { color: "#aabbcc", mode: "custom" } });
+	});
+
+	test("hydrates a canonical, deduplicated author color opt-out list", () => {
+		expect(hydrateExcludedAuthors([" Alice ", "Bob Smith", "Alice", 42, ""])).toEqual(["Alice", "Bob_Smith"]);
+		expect(hydrateExcludedAuthors({ Alice: true })).toEqual([]);
+	});
+
+	test("creates initial colors but returns no color when globally disabled or individually excluded", () => {
+		const assignments: AuthorColorAssignments = {};
+		const disabled = resolveAuthorColor(assignments, new Set(), "Alice", false);
+
+		expect(disabled.color).toBeNull();
+		expect(disabled.created).toBe(true);
+		expect(assignments.Alice).toBeDefined();
+
+		const excluded = resolveAuthorColor(assignments, new Set(["Bob"]), "Bob", true);
+		expect(excluded).toEqual({ author: "Bob", color: null, created: false });
+		expect(assignments.Bob).toBeUndefined();
+	});
+
+	test("restores the legacy yellow highlight only when author colors are globally disabled", () => {
+		expect(effectiveHighlightColor("#0090ff", false)).toBe("#f2b90d");
+		expect(effectiveHighlightColor(null, false)).toBe("#f2b90d");
+		expect(effectiveHighlightColor(null, true)).toBeNull();
+	});
+
+	test("canonicalizes whitespace exactly like the stored by token", () => {
+		expect(canonicalAuthorKey("  Kyle  McDonald\tJr. ")).toBe("Kyle_McDonald_Jr.");
+	});
+
+	test("indexes original creators, falls back for legacy comments, and excludes reply-only authors", () => {
+		const doc = [
+			"",
+			"",
+		].join("\n");
+
+		expect(creatorsForComments(parseComments(doc))).toEqual(["Alice", "Legacy_Author"]);
+	});
+
+	test("indexes reply authors whose names are rendered on comment cards", () => {
+		const doc = [
+			"",
+		].join("\n");
+
+		expect(commentersForComments(parseComments(doc))).toEqual(["Alice", "Bob_Smith"]);
+	});
+});
diff --git a/test/author-index.test.ts b/test/author-index.test.ts
new file mode 100644
index 0000000..71409db
--- /dev/null
+++ b/test/author-index.test.ts
@@ -0,0 +1,140 @@
+// @vitest-environment happy-dom
+import { afterEach, describe, expect, test, vi } from "vitest";
+import type { TFile, Vault } from "obsidian";
+import { createAuthorIndex } from "../src/author-index";
+
+type FakeFile = TFile & { path: string; extension: string };
+
+const file = (path: string): FakeFile => ({ path, extension: "md" }) as FakeFile;
+const body = (id: string, author: string): string => ``;
+
+afterEach(() => vi.useRealTimers());
+
+describe("author index", () => {
+	test("deduplicates creators and retains usable data after read failures", async () => {
+		const files = [file("a.md"), file("b.md"), file("broken.md")];
+		const vault = {
+			getMarkdownFiles: () => files,
+			cachedRead: async (target: FakeFile) => {
+				if (target.path === "broken.md") throw new Error("permission denied");
+				return target.path === "a.md" ? `${body("a", "Alice")}\n${body("b", "Alice")}` : body("c", "Bob");
+			},
+		} as unknown as Pick;
+		const index = createAuthorIndex(vault);
+
+		await expect(index.scan()).resolves.toEqual({
+			status: "partial",
+			authors: ["Alice", "Bob"],
+			errors: [{ path: "broken.md", message: "permission denied" }],
+		});
+	});
+
+	test("updates per-file creators across modify, rename, and delete events", async () => {
+		vi.useFakeTimers();
+		const note = file("note.md");
+		const files = [note];
+		const contents = new Map([[note.path, body("a", "Alice")]]);
+		const vault = {
+			getMarkdownFiles: () => files,
+			cachedRead: async (target: FakeFile) => contents.get(target.path) ?? "",
+		} as unknown as Pick;
+		const index = createAuthorIndex(vault);
+		await index.scan();
+
+		contents.set(note.path, body("b", "Bob"));
+		index.scheduleRefresh(note);
+		await vi.runAllTimersAsync();
+		expect(index.getState().authors).toEqual(["Bob"]);
+
+		const renamed = file("renamed.md");
+		contents.set(renamed.path, body("b", "Bob"));
+		index.rename(renamed, note.path);
+		expect(index.getState().authors).toEqual(["Bob"]);
+		await vi.runAllTimersAsync();
+
+		index.remove(renamed.path);
+		expect(index.getState()).toEqual({ status: "ready", authors: [] });
+	});
+
+	test("retains the last successful creator set when a refresh fails", async () => {
+		vi.useFakeTimers();
+		const note = file("note.md");
+		let fail = false;
+		const vault = {
+			getMarkdownFiles: () => [note],
+			cachedRead: async () => {
+				if (fail) throw new Error("temporarily locked");
+				return body("a", "Alice");
+			},
+		} as unknown as Pick;
+		const index = createAuthorIndex(vault);
+		await index.scan();
+
+		fail = true;
+		index.scheduleRefresh(note);
+		await vi.runAllTimersAsync();
+
+		expect(index.getState()).toEqual({
+			status: "partial",
+			authors: ["Alice"],
+			errors: [{ path: "note.md", message: "temporarily locked" }],
+		});
+	});
+
+	test("does not let stale full-scan reads undo newer modify and delete events", async () => {
+		vi.useFakeTimers();
+		const modified = file("modified.md");
+		const deleted = file("deleted.md");
+		let resolveModifiedScan: (content: string) => void = () => {};
+		let resolveDeletedScan: (content: string) => void = () => {};
+		let modifiedReads = 0;
+		const vault = {
+			getMarkdownFiles: () => [modified, deleted],
+			cachedRead: async (target: FakeFile) => {
+				if (target.path === modified.path && modifiedReads++ > 0) return body("new", "Bob");
+				return new Promise((resolve) => {
+					if (target.path === modified.path) resolveModifiedScan = resolve;
+					else resolveDeletedScan = resolve;
+				});
+			},
+		} as unknown as Pick;
+		const index = createAuthorIndex(vault);
+		const scan = index.scan();
+
+		index.scheduleRefresh(modified);
+		index.remove(deleted.path);
+		await vi.runAllTimersAsync();
+		expect(index.getState().authors).toEqual(["Bob"]);
+
+		resolveModifiedScan(body("old", "Alice"));
+		resolveDeletedScan(body("gone", "Carol"));
+		await scan;
+
+		expect(index.getState()).toEqual({ status: "ready", authors: ["Bob"] });
+	});
+
+	test("does not scan a deleted file that was still waiting in a later batch", async () => {
+		const files = Array.from({ length: 9 }, (_, index) => file(`note-${index}.md`));
+		const deleted = files[8]!;
+		let releaseFirstBatch: () => void = () => {};
+		const firstBatch = new Promise((resolve) => {
+			releaseFirstBatch = resolve;
+		});
+		const vault = {
+			getMarkdownFiles: () => files,
+			cachedRead: async (target: FakeFile) => {
+				if (target.path === deleted.path) return body("gone", "Carol");
+				await firstBatch;
+				return "";
+			},
+		} as unknown as Pick;
+		const index = createAuthorIndex(vault);
+		const scan = index.scan();
+
+		index.remove(deleted.path);
+		releaseFirstBatch();
+		await scan;
+
+		expect(index.getState()).toEqual({ status: "ready", authors: [] });
+	});
+});
diff --git a/test/card.test.ts b/test/card.test.ts
index aa125bb..e18331a 100644
--- a/test/card.test.ts
+++ b/test/card.test.ts
@@ -85,6 +85,39 @@ const callbacks = (): CardCallbacks => ({
 });
 
 describe("empty comment card", () => {
+	test("colors every displayed author name with that author's assignment", () => {
+		const comment = {
+			...commentWithText(),
+			thread: [
+				{ author: "kyle", text: "Original" },
+				{ author: "Cathy", text: "Reply" },
+			],
+		};
+		let changed: "custom" | "deleted" | "initial" = "initial";
+		const card = new Card(comment, callbacks(), {
+			sourcePath: () => "note.md",
+			colorForAuthor: (author) => {
+				if (author === "kyle") return "#0090ff";
+				if (changed === "deleted") return null;
+				return changed === "custom" ? "#6e56cf" : "#e54d2e";
+			},
+		});
+		const authors = [...card.el.querySelectorAll(".dc-entry__author")];
+
+		expect(authors.map((author) => author.dataset.dcAuthor)).toEqual(["kyle", "Cathy"]);
+		expect(authors.map((author) => author.style.getPropertyValue("--dc-author-color"))).toEqual([
+			"#0090ff",
+			"#e54d2e",
+		]);
+		changed = "custom";
+		card.refreshAuthorColors();
+		expect(authors[1]?.style.getPropertyValue("--dc-author-color")).toBe("#6e56cf");
+		changed = "deleted";
+		card.refreshAuthorColors();
+		expect(authors[1]?.style.getPropertyValue("--dc-author-color")).toBe("");
+		card.destroy();
+	});
+
 	test("shows an Empty placeholder and saves its first text as a reply", () => {
 		const cb = callbacks();
 		const card = new Card(emptyComment(), cb, { sourcePath: () => "note.md" });
diff --git a/test/decorations.test.ts b/test/decorations.test.ts
index d4f1261..737c305 100644
--- a/test/decorations.test.ts
+++ b/test/decorations.test.ts
@@ -1,8 +1,20 @@
 import { describe, expect, test } from "vitest";
 import { EditorState } from "@codemirror/state";
-import { commentField } from "../src/editor/state";
+import { commentField, refreshCommentColors } from "../src/editor/state";
+import { commentConfig } from "../src/editor/config";
 import { parseComments } from "../src/format/parse";
 import { applyChanges, computeAddComment } from "../src/editor/edits";
+import type { ResolvedAuthorColor } from "../src/author-colors";
+
+const decorationAttributes = (state: EditorState): Array> => {
+	const attributes: Array> = [];
+	const cursor = state.field(commentField).decorations.iter();
+	while (cursor.value) {
+		if (cursor.value.spec?.attributes) attributes.push(cursor.value.spec.attributes);
+		cursor.next();
+	}
+	return attributes;
+};
 
 // Two comments anchored on overlapping text — `xoua6` sits nested inside `zz1q`,
 // both covering "resolved". This is the shape that crashed CodeMirror's
@@ -18,6 +30,69 @@ const NESTED = [
 ].join("\n");
 
 describe("commentField decorations", () => {
+	test("carries the original creator and live configured color", () => {
+		let color: ResolvedAuthorColor = "#0090ff";
+		const doc = [
+			"Ship Friday.",
+			'",
+		].join("\n");
+		const extensions = [
+			commentConfig.of({
+				author: () => "me",
+				colorForAuthor: () => color,
+				showComments: () => true,
+				showResolved: () => true,
+				allowEmptyComments: () => false,
+				sidebarOpen: () => false,
+			}),
+			commentField,
+		];
+		const state = EditorState.create({ doc, extensions });
+		const first = [...decorationAttributes(state)].find((attributes) => attributes["data-cid"] === "c1");
+		expect(first).toMatchObject({
+			"data-dc-author": "Alice",
+			style: "--dc-highlight-color: #0090ff",
+		});
+
+		color = "#e54d2e";
+		const refreshed = state.update({ effects: refreshCommentColors.of(null) }).state;
+		const second = [...decorationAttributes(refreshed)].find((attributes) => attributes["data-cid"] === "c1");
+		expect(second?.style).toBe("--dc-highlight-color: #e54d2e");
+
+		color = null;
+		const uncolored = refreshed.update({ effects: refreshCommentColors.of(null) }).state;
+		const third = [...decorationAttributes(uncolored)].find((attributes) => attributes["data-cid"] === "c1");
+		expect(third?.style).toBe("--dc-highlight-color: var(--text-normal)");
+	});
+
+	test("uses a separate legacy-yellow resolver when author colors are disabled", () => {
+		const doc = [
+			"Ship Friday.",
+			'",
+		].join("\n");
+		const state = EditorState.create({
+			doc,
+			extensions: [
+				commentConfig.of({
+					author: () => "me",
+					colorForAuthor: () => null,
+					highlightColorForAuthor: () => "#f2b90d",
+					showComments: () => true,
+					showResolved: () => true,
+					allowEmptyComments: () => false,
+					sidebarOpen: () => false,
+				}),
+				commentField,
+			],
+		});
+
+		const highlight = [...decorationAttributes(state)].find((attributes) => attributes["data-cid"] === "c1");
+		expect(highlight?.style).toBe("--dc-highlight-color: #f2b90d");
+	});
 	test("overlapping/nested comment anchors build and map without crashing", () => {
 		// EditorState.create runs compute(); .map() is what CodeMirror does to the
 		// decoration set on setViewData — both must survive overlapping anchors.
diff --git a/test/dom.test.ts b/test/dom.test.ts
new file mode 100644
index 0000000..85e10ef
--- /dev/null
+++ b/test/dom.test.ts
@@ -0,0 +1,21 @@
+// @vitest-environment happy-dom
+import { describe, expect, test } from "vitest";
+import { isHtmlElement } from "../src/util/dom";
+
+describe("realm-safe DOM guards", () => {
+	test("accepts an HTMLElement created by another window realm", () => {
+		class ForeignHTMLElement {}
+		const element = Object.assign(new ForeignHTMLElement(), {
+			nodeType: 1,
+			ownerDocument: { defaultView: { HTMLElement: ForeignHTMLElement } },
+		});
+
+		expect(element instanceof HTMLElement).toBe(false);
+		expect(isHtmlElement(element)).toBe(true);
+	});
+
+	test("rejects non-elements", () => {
+		expect(isHtmlElement(null)).toBe(false);
+		expect(isHtmlElement({ nodeType: 3 })).toBe(false);
+	});
+});
diff --git a/test/editor-view.test.ts b/test/editor-view.test.ts
index c76a9dd..19fe8cd 100644
--- a/test/editor-view.test.ts
+++ b/test/editor-view.test.ts
@@ -415,4 +415,35 @@ describe("editor extensions open every note without crashing", () => {
 		expect(className).not.toContain("dc-has"); // draft is a floating overlay, no column reserved
 		expect(className).toContain("dc-highlights"); // highlights still follow the master toggle
 	});
+
+	test("publishes a separate current-author color for drafts nested in another author's highlight", () => {
+		const parent = document.createElement("div");
+		document.body.appendChild(parent);
+		const doc = [
+			"Ship on Friday regardless.",
+			'",
+		].join("\n");
+		const colored = commentConfig.of({
+			author: () => "Bob",
+			colorForAuthor: (author) => (author === "Alice" ? "#0090ff" : "#e54d2e"),
+			highlightColorForAuthor: (author) => (author === "Alice" ? "#0090ff" : "#e54d2e"),
+			showComments: () => true,
+			showResolved: () => true,
+			allowEmptyComments: () => false,
+			sidebarOpen: () => false,
+		});
+		const view = new EditorView({
+			state: EditorState.create({ doc, extensions: [commentField, draftField, colored, editorLayoutField] }),
+			parent,
+		});
+		const from = doc.indexOf("Friday");
+
+		view.dispatch({ effects: setDraft.of({ from, to: from + "Friday".length }) });
+
+		expect(view.dom.style.getPropertyValue("--dc-draft-highlight-color")).toBe("#e54d2e");
+		expect(view.contentDOM.querySelector(".dc-draft")).not.toBeNull();
+		view.destroy();
+	});
 });
diff --git a/test/obsidian-mock.ts b/test/obsidian-mock.ts
index a9378fa..3958253 100644
--- a/test/obsidian-mock.ts
+++ b/test/obsidian-mock.ts
@@ -1,5 +1,80 @@
 export class App {}
 
+export class Plugin {
+	readonly app: App;
+
+	constructor(app: App = new App()) {
+		this.app = app;
+	}
+
+	async loadData(): Promise {
+		return null;
+	}
+
+	async saveData(_data: unknown): Promise {}
+}
+
+export class Editor {}
+
+export class TAbstractFile {
+	constructor(readonly path = "") {}
+}
+
+export class TFile extends TAbstractFile {
+	constructor(
+		path = "",
+		readonly extension = "md",
+	) {
+		super(path);
+	}
+}
+
+export class WorkspaceLeaf {
+	constructor(readonly view: unknown = null) {}
+}
+
+export class ItemView {
+	readonly app = new App();
+	readonly containerEl = document.createElement("div");
+	readonly contentEl = document.createElement("div");
+
+	constructor(readonly leaf: WorkspaceLeaf) {
+		this.containerEl.appendChild(this.contentEl);
+	}
+}
+
+export const Platform = { isMobile: false };
+
+export const debounce = (callback: (...args: Args) => void, delay: number) => {
+	let timer: number | null = null;
+	const debounced = (...args: Args): void => {
+		if (timer !== null) window.clearTimeout(timer);
+		timer = window.setTimeout(() => {
+			timer = null;
+			callback(...args);
+		}, delay);
+	};
+	debounced.cancel = (): void => {
+		if (timer !== null) window.clearTimeout(timer);
+		timer = null;
+	};
+	return debounced;
+};
+
+export class MarkdownView {
+	readonly containerEl = document.createElement("div");
+	file: unknown = null;
+	editor: unknown = {};
+
+	getMode(): string {
+		return "preview";
+	}
+}
+
+export class Notice {
+	constructor(readonly message: string) {}
+}
+
 export class Modal {
 	readonly contentEl = document.createElement("div");
 	readonly titleEl = document.createElement("div");
@@ -39,22 +114,130 @@ class ButtonComponent {
 	setCta(): this {
 		return this;
 	}
+
+	setDisabled(disabled: boolean): this {
+		this.buttonEl.disabled = disabled;
+		return this;
+	}
+}
+
+class ValueComponent {
+	constructor(readonly inputEl: HTMLInputElement) {}
+
+	setValue(value: T): this {
+		if (typeof value === "boolean") this.inputEl.checked = value;
+		else this.inputEl.value = String(value);
+		return this;
+	}
+
+	onChange(callback: (value: T) => void): this {
+		this.inputEl.addEventListener("change", () => {
+			const value = (this.inputEl.type === "checkbox" ? this.inputEl.checked : this.inputEl.value) as T;
+			callback(value);
+		});
+		return this;
+	}
+
+	setPlaceholder(value: string): this {
+		this.inputEl.placeholder = value;
+		return this;
+	}
+}
+
+class ExtraButtonComponent extends ButtonComponent {
+	setIcon(icon: string): this {
+		this.buttonEl.dataset.icon = icon;
+		return this;
+	}
+
+	setTooltip(tooltip: string): this {
+		this.buttonEl.title = tooltip;
+		return this;
+	}
 }
 
 export class Setting {
-	private readonly settingEl: HTMLDivElement;
+	readonly settingEl: HTMLDivElement;
+	private readonly nameEl: HTMLDivElement;
+	private readonly descEl: HTMLDivElement;
+	private readonly controlEl: HTMLDivElement;
 
 	constructor(containerEl: HTMLElement) {
 		this.settingEl = document.createElement("div");
+		this.settingEl.className = "setting-item";
+		this.nameEl = document.createElement("div");
+		this.nameEl.className = "setting-item-name";
+		this.descEl = document.createElement("div");
+		this.descEl.className = "setting-item-description";
+		this.controlEl = document.createElement("div");
+		this.controlEl.className = "setting-item-control";
+		this.settingEl.append(this.nameEl, this.descEl, this.controlEl);
 		containerEl.appendChild(this.settingEl);
 	}
 
+	setName(name: string): this {
+		this.nameEl.textContent = name;
+		return this;
+	}
+
+	setDesc(description: string): this {
+		this.descEl.textContent = description;
+		return this;
+	}
+
+	setHeading(): this {
+		this.settingEl.classList.add("setting-item-heading");
+		return this;
+	}
+
 	addButton(configure: (button: ButtonComponent) => void): this {
 		const button = document.createElement("button");
-		this.settingEl.appendChild(button);
+		this.controlEl.appendChild(button);
 		configure(new ButtonComponent(button));
 		return this;
 	}
+
+	addExtraButton(configure: (button: ExtraButtonComponent) => void): this {
+		const button = document.createElement("button");
+		this.controlEl.appendChild(button);
+		configure(new ExtraButtonComponent(button));
+		return this;
+	}
+
+	addText(configure: (component: ValueComponent) => void): this {
+		const input = document.createElement("input");
+		input.type = "text";
+		this.controlEl.appendChild(input);
+		configure(new ValueComponent(input));
+		return this;
+	}
+
+	addToggle(configure: (component: ValueComponent) => void): this {
+		const input = document.createElement("input");
+		input.type = "checkbox";
+		this.controlEl.appendChild(input);
+		configure(new ValueComponent(input));
+		return this;
+	}
+
+	addColorPicker(configure: (component: ValueComponent) => void): this {
+		const input = document.createElement("input");
+		input.type = "color";
+		this.controlEl.appendChild(input);
+		configure(new ValueComponent(input));
+		return this;
+	}
+}
+
+export class PluginSettingTab {
+	readonly containerEl = document.createElement("div");
+
+	constructor(
+		readonly app: App,
+		readonly plugin: unknown,
+	) {}
+
+	update(): void {}
 }
 
 export class Component {
diff --git a/test/plugin-settings.test.ts b/test/plugin-settings.test.ts
new file mode 100644
index 0000000..48d1e45
--- /dev/null
+++ b/test/plugin-settings.test.ts
@@ -0,0 +1,87 @@
+// @vitest-environment happy-dom
+import { describe, expect, test, vi } from "vitest";
+import DocCommentsPlugin from "../src/main";
+import { DEFAULT_SETTINGS } from "../src/settings";
+
+const createPlugin = (): DocCommentsPlugin => {
+	const PluginConstructor = DocCommentsPlugin as unknown as new () => DocCommentsPlugin;
+	return new PluginConstructor();
+};
+
+describe("plugin settings persistence", () => {
+	test("persists an initial generated assignment and restores it on reload", async () => {
+		const first = createPlugin();
+		let saved: unknown = null;
+		vi.spyOn(first, "loadData").mockResolvedValue({
+			author: "Alice",
+			authorColorsEnabled: true,
+			authorColors: {},
+			excludedAuthorColors: [],
+		});
+		vi.spyOn(first, "saveData").mockImplementation(async (data) => {
+			saved = structuredClone(data);
+		});
+
+		await first.loadSettings();
+		const assignment = first.settings.authorColors.Alice;
+
+		expect(assignment).toBeDefined();
+		expect(saved).not.toBeNull();
+
+		const reloaded = createPlugin();
+		vi.spyOn(reloaded, "loadData").mockResolvedValue(saved);
+		const reloadSave = vi.spyOn(reloaded, "saveData").mockResolvedValue();
+		await reloaded.loadSettings();
+
+		expect(reloaded.settings.authorColors.Alice).toEqual(assignment);
+		expect(reloadSave).not.toHaveBeenCalled();
+	});
+
+	test("falls back without overwriting data when plugin settings fail to load", async () => {
+		const plugin = createPlugin();
+		vi.spyOn(plugin, "loadData").mockRejectedValue(new Error("vault unavailable"));
+		const saveData = vi.spyOn(plugin, "saveData").mockResolvedValue();
+
+		await expect(plugin.loadSettings()).resolves.toBeUndefined();
+
+		expect(plugin.settings.authorColorsEnabled).toBe(DEFAULT_SETTINGS.authorColorsEnabled);
+		expect(plugin.settingsError()).toBe("Couldn't load settings: vault unavailable");
+		expect(saveData).not.toHaveBeenCalled();
+	});
+
+	test("rolls back picker, delete, and restore mutations after rejected writes", async () => {
+		const plugin = createPlugin();
+		plugin.settings = {
+			...DEFAULT_SETTINGS,
+			authorColorsEnabled: true,
+			authorColors: { Alice: { color: "#0090ff", mode: "generated" } },
+			excludedAuthorColors: [],
+		};
+		vi.spyOn(plugin, "saveData").mockRejectedValue(new Error("disk full"));
+		vi.spyOn(plugin, "refreshEditors").mockImplementation(() => {});
+
+		await plugin.setAuthorColor("Alice", "#abcdef");
+		expect(plugin.settings.authorColors.Alice).toEqual({ color: "#0090ff", mode: "generated" });
+
+		await plugin.deleteAuthorColor("Alice");
+		expect(plugin.settings.authorColors.Alice).toEqual({ color: "#0090ff", mode: "generated" });
+		expect(plugin.settings.excludedAuthorColors).toEqual([]);
+
+		const restorePlugin = createPlugin();
+		vi.spyOn(restorePlugin, "loadData").mockResolvedValue({
+			...DEFAULT_SETTINGS,
+			author: "Bob",
+			authorColorsEnabled: true,
+			authorColors: { Bob: { color: "#e54d2e", mode: "generated" } },
+			excludedAuthorColors: ["Alice"],
+		});
+		await restorePlugin.loadSettings();
+		vi.spyOn(restorePlugin, "saveData").mockRejectedValue(new Error("disk full"));
+		vi.spyOn(restorePlugin, "refreshEditors").mockImplementation(() => {});
+
+		await restorePlugin.restoreAuthorColor("Alice");
+		expect(restorePlugin.settings.authorColors.Alice).toBeUndefined();
+		expect(restorePlugin.settings.excludedAuthorColors).toEqual(["Alice"]);
+		expect(restorePlugin.settingsError()).toBe("Couldn't persist highlight colors: disk full");
+	});
+});
diff --git a/test/reading-highlight.test.ts b/test/reading-highlight.test.ts
index 8004ee3..d29c629 100644
--- a/test/reading-highlight.test.ts
+++ b/test/reading-highlight.test.ts
@@ -48,6 +48,42 @@ describe("reading-view highlight post-processor", () => {
 		const span = el.querySelector(".doc-comment-span[data-cid='p1']");
 		expect(span?.textContent).toBe("Friday");
 		expect(span?.getAttribute("title")).toBe("me: ok");
+		expect(span?.getAttribute("data-dc-author")).toBe("me");
+	});
+
+	test("applies the original creator's configured color", () => {
+		const doc = [
+			"We ship on Friday regardless.",
+			'",
+		].join("\n");
+		const el = document.createElement("p");
+		el.textContent = "We ship on Friday regardless.";
+
+		highlightPostProcessor(el, ctxFor(doc, 0, 0), () => "#0090ff");
+		const span = el.querySelector(".doc-comment-span[data-cid='p2']");
+
+		expect(span?.dataset.dcAuthor).toBe("Alice");
+		expect(span?.style.getPropertyValue("--dc-highlight-color")).toBe("#0090ff");
+		expect(span?.classList.contains("is-resolved")).toBe(true);
+	});
+
+	test("uses the normal theme text color when an author has no mapping", () => {
+		const doc = [
+			"Ship Friday.",
+			'",
+		].join("\n");
+		const el = document.createElement("p");
+		el.textContent = "Ship Friday.";
+
+		highlightPostProcessor(el, ctxFor(doc, 0, 0), () => null);
+
+		expect(el.querySelector(".doc-comment-span")?.style.getPropertyValue("--dc-highlight-color")).toBe(
+			"var(--text-normal)",
+		);
 	});
 
 	test("wraps an empty comment as a highlight without a preview", () => {
diff --git a/test/reading-margin.test.ts b/test/reading-margin.test.ts
new file mode 100644
index 0000000..9e92d42
--- /dev/null
+++ b/test/reading-margin.test.ts
@@ -0,0 +1,127 @@
+// @vitest-environment happy-dom
+import { beforeAll, describe, expect, test, vi } from "vitest";
+import { MarkdownView } from "obsidian";
+import { ReadingMarginManager, type ReadingDeps } from "../src/reading/margin";
+
+type ElementOptions = string | { cls?: string | string[]; text?: string; attr?: Record };
+
+const applyOptions = (element: HTMLElement, options?: ElementOptions): void => {
+	if (typeof options === "string") element.className = options;
+	else if (options) {
+		if (options.cls) element.className = Array.isArray(options.cls) ? options.cls.join(" ") : options.cls;
+		if (options.text !== undefined) element.textContent = options.text;
+		Object.entries(options.attr ?? {}).forEach(([name, value]) => element.setAttribute(name, value));
+	}
+};
+
+beforeAll(() => {
+	(globalThis as unknown as { createDiv: (options?: ElementOptions) => HTMLDivElement }).createDiv = (options) => {
+		const element = document.createElement("div");
+		applyOptions(element, options);
+		return element;
+	};
+	HTMLElement.prototype.createDiv = function (options?: ElementOptions) {
+		const element = this.ownerDocument.createElement("div");
+		applyOptions(element, options);
+		this.appendChild(element);
+		return element;
+	};
+	HTMLElement.prototype.createEl = function (tag: string, options?: ElementOptions) {
+		const element = this.ownerDocument.createElement(tag);
+		applyOptions(element, options);
+		this.appendChild(element);
+		return element;
+	};
+	HTMLElement.prototype.createSpan = function (options?: ElementOptions) {
+		const element = this.ownerDocument.createElement("span");
+		applyOptions(element, options);
+		this.appendChild(element);
+		return element;
+	};
+	HTMLElement.prototype.detach = function () {
+		this.remove();
+	};
+	HTMLElement.prototype.toggleClass = function (name: string, enabled: boolean) {
+		this.classList.toggle(name, enabled);
+	};
+	HTMLElement.prototype.removeClasses = function (names: string[]) {
+		this.classList.remove(...names);
+	};
+	HTMLElement.prototype.setCssStyles = function (styles: Partial) {
+		Object.assign(this.style, styles);
+	};
+});
+
+describe("reading margin windows", () => {
+	test("refreshes a reading container created in a pop-out window realm", () => {
+		class ForeignHTMLElement {
+			readonly nodeType = 1;
+			readonly ownerDocument = { defaultView: { HTMLElement: ForeignHTMLElement } };
+			readonly style = { setProperty: vi.fn() };
+			readonly toggleClass = vi.fn();
+			readonly removeClasses = vi.fn();
+		}
+		const readingView = new ForeignHTMLElement();
+		const view = new MarkdownView();
+		Object.defineProperty(view, "containerEl", {
+			value: { querySelector: () => readingView },
+		});
+		const deps = {
+			app: { workspace: { getLeavesOfType: () => [{ view }] } },
+			getAuthor: () => "Bob",
+			colorForAuthor: () => "#e54d2e",
+			highlightColorForAuthor: () => "#e54d2e",
+			showComments: () => true,
+			showResolved: () => false,
+			allowEmptyComments: () => false,
+			sidebarOpen: () => false,
+			isMobile: () => true,
+		} as unknown as ReadingDeps;
+
+		new ReadingMarginManager(deps).refresh();
+
+		expect(readingView.toggleClass).toHaveBeenCalledWith("dc-highlights", true);
+		expect(readingView.style.setProperty).toHaveBeenCalledWith("--dc-highlight-color", "#e54d2e");
+		expect(readingView.style.setProperty).toHaveBeenCalledWith("--dc-draft-highlight-color", "#e54d2e");
+	});
+
+	test("keeps an open nested draft live when the current author's color changes", () => {
+		let currentColor: "#e54d2e" | "#6e56cf" = "#e54d2e";
+		let mobile = false;
+		const wrapper = document.createElement("div");
+		const readingView = wrapper.createDiv("markdown-reading-view");
+		const scroller = readingView.createDiv("markdown-preview-view");
+		const existing = scroller.createSpan("doc-comment-span");
+		existing.style.setProperty("--dc-highlight-color", "#0090ff");
+		existing.textContent = "Friday";
+		const view = new MarkdownView();
+		Object.defineProperty(view, "containerEl", { value: wrapper });
+		const deps = {
+			app: { workspace: { getLeavesOfType: () => [{ view }] } },
+			getAuthor: () => "Bob",
+			colorForAuthor: () => currentColor,
+			highlightColorForAuthor: () => currentColor,
+			showComments: () => true,
+			showResolved: () => false,
+			allowEmptyComments: () => false,
+			sidebarOpen: () => false,
+			isMobile: () => mobile,
+		} as unknown as ReadingDeps;
+		const manager = new ReadingMarginManager(deps);
+		const range = document.createRange();
+		range.selectNodeContents(existing);
+
+		manager.startDraft(view, 0, 6, range, "Friday", "none");
+		const draft = existing.querySelector(".dc-draft");
+		expect(draft?.style.getPropertyValue("--dc-highlight-color")).toBe("");
+		expect(readingView.style.getPropertyValue("--dc-draft-highlight-color")).toBe("#e54d2e");
+
+		currentColor = "#6e56cf";
+		mobile = true;
+		manager.refresh();
+
+		expect(readingView.style.getPropertyValue("--dc-draft-highlight-color")).toBe("#6e56cf");
+		expect(draft?.style.getPropertyValue("--dc-highlight-color")).toBe("");
+		manager.destroy();
+	});
+});
diff --git a/test/settings-storage.test.ts b/test/settings-storage.test.ts
new file mode 100644
index 0000000..b47e3eb
--- /dev/null
+++ b/test/settings-storage.test.ts
@@ -0,0 +1,43 @@
+import { describe, expect, test, vi } from "vitest";
+import { loadSettingsData, saveSettingsData } from "../src/settings-storage";
+
+describe("settings storage", () => {
+	test("turns a rejected plugin load into an explicit Result", async () => {
+		const loadData = vi.fn(async () => {
+			throw new Error("vault unavailable");
+		});
+
+		const loaded = await loadSettingsData(loadData);
+
+		expect(loaded.isErr()).toBe(true);
+		if (loaded.isErr()) {
+			expect(loaded.error).toEqual({ type: "settings_load_failed", message: "vault unavailable" });
+		}
+	});
+
+	test("turns a rejected plugin save into an explicit Result", async () => {
+		const saveData = vi.fn(async () => {
+			throw new Error("disk full");
+		});
+
+		const saved = await saveSettingsData(saveData, { author: "Alice" });
+
+		expect(saved.isErr()).toBe(true);
+		if (saved.isErr()) {
+			expect(saved.error).toEqual({ type: "settings_save_failed", message: "disk full" });
+		}
+	});
+
+	test("passes loaded and saved plugin data through successful Results", async () => {
+		const data = { author: "Alice" };
+		const loadData = vi.fn(async () => data);
+		const saveData = vi.fn(async () => {});
+
+		const loaded = await loadSettingsData(loadData);
+		const saved = await saveSettingsData(saveData, data);
+
+		expect(loaded.isOk() && loaded.value).toBe(data);
+		expect(saved.isOk()).toBe(true);
+		expect(saveData).toHaveBeenCalledWith(data);
+	});
+});
diff --git a/test/settings.test.ts b/test/settings.test.ts
new file mode 100644
index 0000000..7b3edac
--- /dev/null
+++ b/test/settings.test.ts
@@ -0,0 +1,156 @@
+// @vitest-environment happy-dom
+import { describe, expect, test, vi } from "vitest";
+import { App, Setting } from "obsidian";
+import { Result, type Result as ResultType } from "better-result";
+import { DEFAULT_SETTINGS, DocCommentsSettingTab, type DocCommentsSettings } from "../src/settings";
+import type { AuthorIndexState } from "../src/author-index";
+
+const settings = (): DocCommentsSettings => ({
+	author: "Alice",
+	showComments: true,
+	showResolved: false,
+	allowEmptyComments: false,
+	authorColorsEnabled: true,
+	authorColors: {
+		Alice: { color: "#0090ff", mode: "generated" },
+		Former: { color: "#e54d2e", mode: "custom" },
+	},
+	excludedAuthorColors: ["Bob"],
+});
+
+const plugin = (state: AuthorIndexState) => ({
+	settings: settings(),
+	authorColorView: () => ({ state, active: ["Alice"], missing: ["Former"], uncolored: ["Bob"], saveError: null }),
+	setAuthorColor: vi.fn(async () => {}),
+	deleteAuthorColor: vi.fn(async () => {}),
+	restoreAuthorColor: vi.fn(async () => {}),
+	rescanAuthors: vi.fn(async () => {}),
+	saveSettings: vi.fn(async (): Promise> => Result.ok(undefined)),
+	settingsError: vi.fn((): string | null => null),
+	ensureCurrentAuthorColor: vi.fn(),
+	refreshEditors: vi.fn(),
+	updateRibbon: vi.fn(),
+});
+
+describe("highlight color settings", () => {
+	test("defaults author colors to off for vaults without a saved preference", () => {
+		expect(DEFAULT_SETTINGS.authorColorsEnabled).toBe(false);
+	});
+
+	test("hides the highlight color group in declarative and legacy settings while colors are off", () => {
+		const fake = plugin({ status: "ready", authors: ["Alice"] });
+		fake.settings.authorColorsEnabled = false;
+		const tab = new DocCommentsSettingTab(new App(), fake as never);
+
+		expect(
+			tab.getSettingDefinitions().some((definition) => "type" in definition && definition.type === "group"),
+		).toBe(false);
+		tab.display();
+		expect(tab.containerEl.textContent).not.toContain("Highlight colors");
+		expect(tab.containerEl.querySelector('input[type="color"]')).toBeNull();
+
+		fake.settings.authorColorsEnabled = true;
+		expect(
+			tab.getSettingDefinitions().some((definition) => "type" in definition && definition.type === "group"),
+		).toBe(true);
+		tab.display();
+		expect(tab.containerEl.textContent).toContain("Highlight colors");
+		expect(tab.containerEl.querySelector('input[type="color"]')).not.toBeNull();
+	});
+
+	test("declarative definitions render built-in color pickers and retain missing creators", () => {
+		const fake = plugin({ status: "ready", authors: ["Alice"] });
+		const tab = new DocCommentsSettingTab(new App(), fake as never);
+		const group = tab
+			.getSettingDefinitions()
+			.find((definition) => "type" in definition && definition.type === "group");
+		expect(group && "items" in group ? group.items?.map((item) => ("name" in item ? item.name : "")) : []).toEqual([
+			"Highlight color index",
+			"Alice",
+			"Not currently found",
+			"Former",
+			"Uncolored",
+			"Bob",
+		]);
+
+		const alice =
+			group && "items" in group ? group.items?.find((item) => "name" in item && item.name === "Alice") : null;
+		const container = document.createElement("div");
+		const setting = new Setting(container);
+		if (alice && "render" in alice && alice.render) alice.render(setting, {} as never);
+
+		expect(container.querySelector('input[type="color"]')?.value).toBe("#0090ff");
+		expect(setting.settingEl.classList.contains("dc-author-color-setting")).toBe(true);
+		expect(container.querySelector('button[data-icon="rotate-ccw"]')).toBeNull();
+		expect(container.querySelector('button[data-icon="trash-2"]')).not.toBeNull();
+	});
+
+	test("legacy display uses the same picker rows and exposes partial scan state", () => {
+		const fake = plugin({
+			status: "partial",
+			authors: ["Alice"],
+			errors: [{ path: "locked.md", message: "locked" }],
+		});
+		const tab = new DocCommentsSettingTab(new App(), fake as never);
+		tab.display();
+
+		expect(tab.containerEl.querySelectorAll('input[type="color"]')).toHaveLength(2);
+		expect(tab.containerEl.textContent).toContain("1 file could not be read");
+		expect(tab.containerEl.textContent).toContain("Not currently found");
+		expect(tab.containerEl.textContent).toContain("Uncolored");
+		expect(tab.containerEl.textContent).toContain("This creator is not currently found in the vault.");
+		expect(tab.containerEl.textContent).not.toContain("Automatically assigned color");
+		expect(tab.containerEl.textContent).not.toContain("Custom color");
+	});
+
+	test("picker, delete, and restore controls route through plugin persistence", () => {
+		const fake = plugin({ status: "ready", authors: ["Alice"] });
+		fake.settings.authorColors.Alice = { color: "#0090ff", mode: "custom" };
+		const tab = new DocCommentsSettingTab(new App(), fake as never);
+		tab.display();
+		const picker = [...tab.containerEl.querySelectorAll('input[type="color"]')].find(
+			(input) => input.value === "#0090ff",
+		);
+		picker!.value = "#abcdef";
+		picker!.dispatchEvent(new Event("change"));
+		expect(tab.containerEl.querySelector('button[data-icon="rotate-ccw"]')).toBeNull();
+		const remove = tab.containerEl.querySelector('button[data-icon="trash-2"]');
+		remove?.click();
+		const restore = [...tab.containerEl.querySelectorAll("button")].find(
+			(button) => button.textContent === "Assign color",
+		);
+		restore?.click();
+
+		expect(fake.setAuthorColor).toHaveBeenCalledWith("Alice", "#abcdef");
+		expect(fake.deleteAuthorColor).toHaveBeenCalledWith("Alice");
+		expect(fake.restoreAuthorColor).toHaveBeenCalledWith("Bob");
+	});
+
+	test("global author color toggle persists without changing saved assignments", async () => {
+		const fake = plugin({ status: "ready", authors: ["Alice"] });
+		const before = structuredClone(fake.settings.authorColors);
+		const tab = new DocCommentsSettingTab(new App(), fake as never);
+
+		await tab.setControlValue("authorColorsEnabled", false);
+
+		expect(fake.settings.authorColorsEnabled).toBe(false);
+		expect(fake.settings.authorColors).toEqual(before);
+		expect(fake.saveSettings).toHaveBeenCalledOnce();
+		expect(fake.refreshEditors).toHaveBeenCalled();
+	});
+
+	test("rolls back a rejected setting write and surfaces the failure inline", async () => {
+		const fake = plugin({ status: "ready", authors: ["Alice"] });
+		fake.saveSettings.mockResolvedValue(Result.err("disk full"));
+		fake.settingsError.mockReturnValue("Couldn't save settings: disk full");
+		const tab = new DocCommentsSettingTab(new App(), fake as never);
+
+		await tab.setControlValue("authorColorsEnabled", false);
+		tab.display();
+
+		expect(fake.settings.authorColorsEnabled).toBe(true);
+		expect(fake.refreshEditors).not.toHaveBeenCalled();
+		expect(tab.containerEl.textContent).toContain("Settings error");
+		expect(tab.containerEl.textContent).toContain("Couldn't save settings: disk full");
+	});
+});
diff --git a/test/styles.test.ts b/test/styles.test.ts
new file mode 100644
index 0000000..042eff8
--- /dev/null
+++ b/test/styles.test.ts
@@ -0,0 +1,49 @@
+import { readFileSync } from "node:fs";
+import { describe, expect, test } from "vitest";
+
+const styles = readFileSync(new URL("../styles.css", import.meta.url), "utf8");
+
+describe("per-author highlight styles", () => {
+	test("uses the theme text color when no author mapping is active", () => {
+		expect(styles).toMatch(/--dc-highlight-color: var\(--text-normal\)/);
+	});
+
+	test("derives colors on each span so its local author variable wins the cascade", () => {
+		const rule = /\.doc-comment-span\s*\{([\s\S]*?)\}/.exec(styles)?.[1] ?? "";
+
+		expect(rule).toContain("--dc-highlight-bg: color-mix(in srgb, var(--dc-highlight-color) 18%");
+		expect(rule).toContain("--dc-highlight-bg-active: color-mix(in srgb, var(--dc-highlight-color) 38%");
+		expect(rule).toContain("--dc-highlight-border: color-mix(in srgb, var(--dc-highlight-color) 70%");
+	});
+
+	test("keeps resolved and draft treatments tied to the author color", () => {
+		expect(styles).toMatch(
+			/\.doc-comment-span\.is-resolved\s*\{[\s\S]*?border-bottom: 1px dashed var\(--dc-highlight-border\)/,
+		);
+		expect(styles).toMatch(
+			/\.doc-comment-span\.dc-draft\s*\{[\s\S]*?border-bottom-color: var\(--dc-highlight-border\)/,
+		);
+		expect(styles).toMatch(
+			/\.doc-comment-span\.dc-draft\s*\{[\s\S]*?--dc-highlight-color: var\(--dc-draft-highlight-color/,
+		);
+	});
+
+	test("mixes author names with the theme text color for readable contrast", () => {
+		expect(styles).toMatch(
+			/\.dc-entry__author\s*\{[\s\S]*?color: color-mix\(in srgb, var\(--dc-author-color, var\(--text-normal\)\) 40%, var\(--text-normal\)\)/,
+		);
+	});
+
+	test("uses deeper author colors in dark themes", () => {
+		expect(styles).toMatch(
+			/\.theme-dark \.dc-entry__author\s*\{[\s\S]*?color: color-mix\(in srgb, var\(--dc-author-color, var\(--text-normal\)\) 70%, var\(--text-normal\)\)/,
+		);
+	});
+
+	test("centers and tightens only author color setting rows", () => {
+		const rule = /\.dc-author-color-setting\s*\{([\s\S]*?)\}/.exec(styles)?.[1] ?? "";
+
+		expect(rule).toContain("align-items: center");
+		expect(rule).toContain("padding-block: 10px");
+	});
+});
diff --git a/test/table-highlights.test.ts b/test/table-highlights.test.ts
index 98b12c1..dd72661 100644
--- a/test/table-highlights.test.ts
+++ b/test/table-highlights.test.ts
@@ -1,6 +1,11 @@
 import { describe, expect, test } from "vitest";
 import { parseComments } from "../src/format/parse";
-import { mapTableWidgets, tableHighlightTargets } from "../src/editor/table-highlights";
+import {
+	mapTableWidgets,
+	tableHighlightName,
+	tableHighlightRule,
+	tableHighlightTargets,
+} from "../src/editor/table-highlights";
 
 describe("tableHighlightTargets", () => {
 	test("maps header and body comments to rendered table cells", () => {
@@ -17,8 +22,8 @@ describe("tableHighlightTargets", () => {
 		].join("\n");
 
 		expect(tableHighlightTargets(doc, parseComments(doc))).toEqual([
-			{ table: 0, row: 0, column: 0, quote: "Day", resolved: true },
-			{ table: 0, row: 1, column: 1, quote: "ship", resolved: false },
+			{ table: 0, row: 0, column: 0, quote: "Day", resolved: true, author: "me" },
+			{ table: 0, row: 1, column: 1, quote: "ship", resolved: false, author: "me" },
 		]);
 	});
 
@@ -40,11 +45,27 @@ describe("tableHighlightTargets", () => {
 		].join("\n");
 
 		expect(tableHighlightTargets(doc, parseComments(doc))).toEqual([
-			{ table: 0, row: 1, column: 1, quote: "two", resolved: false },
-			{ table: 1, row: 1, column: 0, quote: "three", resolved: false },
+			{ table: 0, row: 1, column: 1, quote: "two", resolved: false, author: "me" },
+			{ table: 1, row: 1, column: 0, quote: "three", resolved: false, author: "me" },
 		]);
 	});
 
+	test("uses separate stable registry names for each color and state", () => {
+		expect(tableHighlightName("#0090ff", false)).toBe("document-comments-table-open-0090ff");
+		expect(tableHighlightName("#0090ff", true)).toBe("document-comments-table-resolved-0090ff");
+		expect(tableHighlightName("#e54d2e", false)).not.toBe(tableHighlightName("#0090ff", false));
+		expect(tableHighlightName(null, false)).toBe("document-comments-table-open-default");
+	});
+
+	test("renders open and resolved table colors with distinct treatments", () => {
+		expect(tableHighlightRule("#0090ff", false)).toContain("background-color: color-mix");
+		expect(tableHighlightRule("#0090ff", false)).toContain("text-decoration-style: solid");
+		expect(tableHighlightRule("#e54d2e", true)).toContain("background-color: transparent");
+		expect(tableHighlightRule("#e54d2e", true)).toContain("text-decoration-style: dashed");
+		expect(tableHighlightRule("#e54d2e", true)).toContain("text-decoration-color: #e54d2e");
+		expect(tableHighlightRule(null, false)).toContain("var(--text-normal)");
+	});
+
 	test("maps mounted table widgets by source position when earlier tables are virtualized", () => {
 		const doc = [
 			"| A |",

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 literal 0 HcmV?d00001 diff --git a/src/author-colors.ts b/src/author-colors.ts new file mode 100644 index 0000000..a3ca255 --- /dev/null +++ b/src/author-colors.ts @@ -0,0 +1,173 @@ +import { Result } from "better-result"; +import type { ParsedComment } from "./format/types"; + +export type HexColor = `#${string}`; +export type ResolvedAuthorColor = HexColor | null; +export type AuthorColorResolver = (author: string) => ResolvedAuthorColor; +export type AuthorColorMode = "generated" | "custom"; + +export type AuthorColorAssignment = { + color: HexColor; + mode: AuthorColorMode; +}; + +export type AuthorColorAssignments = Record; + +// Matches the yellow highlight used before per-author colors were introduced. +export const DEFAULT_HIGHLIGHT_COLOR = "#f2b90d" as const satisfies HexColor; + +export type AuthorColorResolution = { + author: string; + color: ResolvedAuthorColor; + created: boolean; +}; + +// Radix Colors 3 light scale, step 9. Step 9 is Radix's highest-chroma accent +// step and is intended for overlays and accent borders. +export const AUTHOR_COLOR_PALETTE = [ + "#0090ff", // blue + "#e54d2e", // tomato + "#46a758", // grass + "#6e56cf", // violet + "#ffc53d", // amber + "#00a2c7", // cyan + "#d6409f", // pink + "#12a594", // teal + "#f76b15", // orange + "#3e63dd", // indigo + "#bdee63", // lime + "#8e4ec6", // purple +] as const satisfies readonly HexColor[]; + +type AssignmentEntry = readonly [string, AuthorColorAssignment]; + +export const canonicalAuthorKey = (author: string): string => { + return author.trim().replace(/-->/g, "--​>").replace(/\s+/g, "_"); +}; + +export const creatorForComment = (comment: ParsedComment): string | null => { + const author = canonicalAuthorKey(comment.author ?? comment.thread[0]?.author ?? ""); + return author || null; +}; + +export const creatorsForComments = (comments: readonly ParsedComment[]): string[] => { + return [...new Set(comments.map(creatorForComment).filter((author) => author !== null))].sort((a, b) => + a.localeCompare(b), + ); +}; + +export const commentersForComments = (comments: readonly ParsedComment[]): string[] => { + const authors = comments.flatMap((comment) => [ + creatorForComment(comment), + ...comment.thread.map((entry) => canonicalAuthorKey(entry.author) || null), + ]); + return [...new Set(authors.filter((author) => author !== null))].sort((a, b) => a.localeCompare(b)); +}; + +export const parseHexColor = (value: unknown): Result => { + if (typeof value !== "string" || !/^#[0-9a-f]{6}$/i.test(value)) { + return Result.err("Expected a six-digit hexadecimal color."); + } + return Result.ok(value.toLowerCase() as HexColor); +}; + +const parseAssignment = (key: string, value: unknown): Result => { + if (!value || typeof value !== "object") return Result.err(`Invalid color assignment for ${key}.`); + const candidate = value as Partial; + if (candidate.mode !== "generated" && candidate.mode !== "custom") { + return Result.err(`Invalid color mode for ${key}.`); + } + const mode = candidate.mode; + return parseHexColor(candidate.color).map((color) => [canonicalAuthorKey(key), { color, mode }] as const); +}; + +export const hydrateAuthorColors = (value: unknown): AuthorColorAssignments => { + if (!value || typeof value !== "object" || Array.isArray(value)) return {}; + const results = Object.entries(value).map(([key, assignment]) => parseAssignment(key, assignment)); + const [valid] = Result.partition(results); + return Object.fromEntries(valid.filter(([key]) => key)); +}; + +export const hydrateExcludedAuthors = (value: unknown): string[] => { + if (!Array.isArray(value)) return []; + const authors = value + .filter((author): author is string => typeof author === "string") + .map(canonicalAuthorKey) + .filter(Boolean); + return [...new Set(authors)].sort((a, b) => a.localeCompare(b)); +}; + +const stableHash = (value: string): number => { + return [...value].reduce((hash, character) => (Math.imul(hash, 31) + character.charCodeAt(0)) >>> 0, 0); +}; + +export const generatedColorForAuthor = (author: string, assignments: Readonly): HexColor => { + const usage = AUTHOR_COLOR_PALETTE.map((color) => ({ + color, + count: Object.values(assignments).filter((assignment) => assignment.color === color).length, + })); + const unused = usage.find(({ count }) => count === 0); + if (unused) return unused.color; + + const minimum = Math.min(...usage.map(({ count }) => count)); + const leastUsed = usage.filter(({ count }) => count === minimum); + return leastUsed[stableHash(canonicalAuthorKey(author)) % leastUsed.length]?.color ?? AUTHOR_COLOR_PALETTE[0]; +}; + +export const ensureAuthorColor = ( + assignments: AuthorColorAssignments, + author: string, +): { assignment: AuthorColorAssignment; created: boolean; author: string } => { + const key = canonicalAuthorKey(author); + const existing = assignments[key]; + if (existing) return { assignment: existing, created: false, author: key }; + + const assignment: AuthorColorAssignment = { + color: generatedColorForAuthor(key, assignments), + mode: "generated", + }; + assignments[key] = assignment; + return { assignment, created: true, author: key }; +}; + +export const ensureAuthorColors = ( + assignments: AuthorColorAssignments, + authors: readonly string[], + excludedAuthors: ReadonlySet, +): boolean => { + const canonicalAuthors = [...new Set(authors.map(canonicalAuthorKey).filter(Boolean))] + .filter((author) => !excludedAuthors.has(author)) + .sort((a, b) => a.localeCompare(b)); + return canonicalAuthors.map((author) => ensureAuthorColor(assignments, author)).some(({ created }) => created); +}; + +export const resolveAuthorColor = ( + assignments: AuthorColorAssignments, + excludedAuthors: ReadonlySet, + author: string, + enabled: boolean, +): AuthorColorResolution => { + const key = canonicalAuthorKey(author); + if (!key || excludedAuthors.has(key)) return { author: key, color: null, created: false }; + const ensured = ensureAuthorColor(assignments, key); + return { + author: key, + color: enabled ? ensured.assignment.color : null, + created: ensured.created, + }; +}; + +export const authorColorCss = (color: ResolvedAuthorColor): string => color ?? "var(--text-normal)"; + +export const effectiveHighlightColor = ( + color: ResolvedAuthorColor, + authorColorsEnabled: boolean, +): ResolvedAuthorColor => { + return authorColorsEnabled ? color : DEFAULT_HIGHLIGHT_COLOR; +}; + +export const resetAuthorColor = (assignments: AuthorColorAssignments, author: string): AuthorColorAssignment => { + const key = canonicalAuthorKey(author); + delete assignments[key]; + return ensureAuthorColor(assignments, key).assignment; +}; diff --git a/src/author-index.ts b/src/author-index.ts new file mode 100644 index 0000000..04f5683 --- /dev/null +++ b/src/author-index.ts @@ -0,0 +1,198 @@ +import type { TFile, Vault } from "obsidian"; +import { Result } from "better-result"; +import { commentersForComments } from "./author-colors"; +import { parseComments } from "./format/parse"; + +export type AuthorIndexError = { + path: string; + message: string; +}; + +export type AuthorIndexState = + | { status: "idle"; authors: string[] } + | { status: "scanning"; authors: string[] } + | { status: "ready"; authors: string[] } + | { status: "partial"; authors: string[]; errors: AuthorIndexError[] }; + +export type AuthorIndex = { + getState: () => AuthorIndexState; + subscribe: (listener: (state: AuthorIndexState) => void) => () => void; + scan: () => Promise; + scheduleRefresh: (file: TFile) => void; + remove: (path: string) => void; + rename: (file: TFile, oldPath: string) => void; + dispose: () => void; +}; + +type ReadSuccess = { + path: string; + authors: Set; +}; + +type ReadRequest = { + file: TFile; + path: string; + revision: number; +}; + +type VersionedReadResult = { + path: string; + revision: number; + result: Result; +}; + +const SCAN_BATCH_SIZE = 8; +const REFRESH_DELAY_MS = 150; + +const errorMessage = (error: unknown): string => { + return error instanceof Error ? error.message : "Unknown read error"; +}; + +const markdownFile = (file: TFile): boolean => file.extension.toLowerCase() === "md"; + +export const createAuthorIndex = (vault: Pick): AuthorIndex => { + const fileAuthors = new Map>(); + const errors = new Map(); + const listeners = new Set<(state: AuthorIndexState) => void>(); + const refreshTimers = new Map(); + const revisions = new Map(); + let state: AuthorIndexState = { status: "idle", authors: [] }; + + const nextRevision = (path: string): number => { + const revision = (revisions.get(path) ?? 0) + 1; + revisions.set(path, revision); + return revision; + }; + + const aggregateAuthors = (): string[] => { + return [...new Set([...fileAuthors.values()].flatMap((authors) => [...authors]))].sort((a, b) => + a.localeCompare(b), + ); + }; + + const publish = (status?: "idle" | "scanning" | "ready" | "partial"): AuthorIndexState => { + const authors = aggregateAuthors(); + const failures = [...errors.values()].sort((a, b) => a.path.localeCompare(b.path)); + const nextStatus = status ?? (failures.length > 0 ? "partial" : "ready"); + state = + nextStatus === "partial" + ? { status: "partial", authors, errors: failures } + : { status: nextStatus, authors }; + listeners.forEach((listener) => listener(state)); + return state; + }; + + const requestRead = (file: TFile): ReadRequest => { + const path = file.path; + return { file, path, revision: nextRevision(path) }; + }; + + const readFile = async ({ file, path, revision }: ReadRequest): Promise => { + const result = await Result.tryPromise({ + try: async () => { + const content = await vault.cachedRead(file); + const authors = content.includes("`; @@ -12,7 +13,7 @@ export const closeMarker = (id: string): string => { /** Serialize a comment body block: ``. */ export const serializeBody = (id: string, data: CommentData): string => { const head: string[] = [`co:${id}`]; - if (data.author) head.push(`by:${sanitizeToken(data.author)}`); + if (data.author) head.push(`by:${canonicalAuthorKey(data.author)}`); if (data.createdAt) head.push(`at:${sanitizeToken(data.createdAt)}`); head.push(`status:${data.status}`); // A code quote must round-trip exactly (it re-anchors to the code); a prose diff --git a/src/main.ts b/src/main.ts index 92cb697..64f0326 100644 --- a/src/main.ts +++ b/src/main.ts @@ -6,13 +6,14 @@ import { Notice, Platform, Plugin, + TAbstractFile, TFile, WorkspaceLeaf, debounce, } from "obsidian"; import { Result } from "better-result"; import { EditorView } from "@codemirror/view"; -import { commentField } from "./editor/state"; +import { commentField, refreshCommentColors } from "./editor/state"; import { marginPlugin } from "./editor/margin"; import { commentConfig } from "./editor/config"; import { editorLayoutField } from "./editor/layout"; @@ -25,19 +26,49 @@ import { COMMENTS_VIEW_TYPE, CommentsSidebarView, SidebarDeps } from "./ui/sideb import { CommentModal } from "./ui/comment-modal"; import { DEFAULT_SETTINGS, DocCommentsSettings, DocCommentsSettingTab } from "./settings"; import { tableHighlightPlugin } from "./editor/table-highlights"; +import { + authorColorCss, + canonicalAuthorKey, + ensureAuthorColor, + ensureAuthorColors, + effectiveHighlightColor, + hydrateAuthorColors, + hydrateExcludedAuthors, + parseHexColor, + resolveAuthorColor, + type AuthorColorAssignment, + type ResolvedAuthorColor, +} from "./author-colors"; +import { createAuthorIndex, type AuthorIndex, type AuthorIndexState } from "./author-index"; +import { loadSettingsData, saveSettingsData } from "./settings-storage"; +import { isHtmlElement } from "./util/dom"; + +type AuthorColorStateSnapshot = { + assignment: AuthorColorAssignment | undefined; + excluded: boolean; +}; export default class DocCommentsPlugin extends Plugin { - settings: DocCommentsSettings = { ...DEFAULT_SETTINGS }; + settings: DocCommentsSettings = { ...DEFAULT_SETTINGS, authorColors: {}, excludedAuthorColors: [] }; private markdown = new Component(); private ribbonIcon: HTMLElement | null = null; private readingManager: ReadingMarginManager | null = null; private scheduleReadingRefresh: () => void = () => {}; + private authorIndex: AuthorIndex | null = null; + private unsubscribeAuthorIndex: (() => void) | null = null; + private settingsTab: DocCommentsSettingTab | null = null; + private settingsPersistenceError: string | null = null; + private authorIndexError: string | null = null; + private excludedAuthorColorSet = new Set(); + private scheduleAuthorColorSave = debounce(() => void this.persistAuthorColors(), 100, true); /** True while the "All discussions" sidebar panel is mounted. */ private sidebarOpen = false; async onload(): Promise { await this.loadSettings(); this.addChild(this.markdown); + this.authorIndex = createAuthorIndex(this.app.vault); + this.unsubscribeAuthorIndex = this.authorIndex.subscribe((state) => this.handleAuthorIndexState(state)); this.registerEditorExtension([ commentField, @@ -54,6 +85,8 @@ export default class DocCommentsPlugin extends Plugin { this.markdown, ), author: () => this.authorName(), + colorForAuthor: (author) => this.colorForAuthor(author), + highlightColorForAuthor: (author) => this.highlightColorForAuthor(author), showComments: () => this.settings.showComments, showResolved: () => this.settings.showResolved, allowEmptyComments: () => this.settings.allowEmptyComments, @@ -75,6 +108,8 @@ export default class DocCommentsPlugin extends Plugin { const readingDeps: ReadingDeps = { app: this.app, getAuthor: () => this.authorName(), + colorForAuthor: (author) => this.colorForAuthor(author), + highlightColorForAuthor: (author) => this.highlightColorForAuthor(author), showComments: () => this.settings.showComments, showResolved: () => this.settings.showResolved, allowEmptyComments: () => this.settings.allowEmptyComments, @@ -90,11 +125,12 @@ export default class DocCommentsPlugin extends Plugin { const sidebarDeps: SidebarDeps = { app: this.app, getAuthor: () => this.authorName(), + colorForAuthor: (author) => this.colorForAuthor(author), }; this.registerView(COMMENTS_VIEW_TYPE, (leaf) => new CommentsSidebarView(leaf, sidebarDeps)); this.registerMarkdownPostProcessor((el, ctx) => { - highlightPostProcessor(el, ctx); + highlightPostProcessor(el, ctx, (author) => this.highlightColorForAuthor(author), this.authorName()); this.scheduleReadingRefresh(); }); // layout-change / active-leaf-change fire for every way the panel shows or @@ -116,7 +152,31 @@ export default class DocCommentsPlugin extends Plugin { // resize fires while a dock collapses/expands — catches that case promptly // even if layout-change doesn't. this.registerEvent(this.app.workspace.on("resize", () => this.syncSidebarOpen())); - this.registerEvent(this.app.vault.on("modify", () => this.scheduleReadingRefresh())); + this.app.workspace.onLayoutReady(() => { + // Register after vault startup so Obsidian's initial create-event burst does + // not duplicate the bounded full scan. + this.registerEvent( + this.app.vault.on("create", (file: TAbstractFile) => { + if (file instanceof TFile) this.authorIndex?.scheduleRefresh(file); + }), + ); + this.registerEvent( + this.app.vault.on("modify", (file: TAbstractFile) => { + this.scheduleReadingRefresh(); + if (file instanceof TFile) this.authorIndex?.scheduleRefresh(file); + }), + ); + this.registerEvent( + this.app.vault.on("delete", (file: TAbstractFile) => this.authorIndex?.remove(file.path)), + ); + this.registerEvent( + this.app.vault.on("rename", (file: TAbstractFile, oldPath: string) => { + if (file instanceof TFile) this.authorIndex?.rename(file, oldPath); + else this.authorIndex?.remove(oldPath); + }), + ); + void this.rescanAuthors(); + }); this.addCommand({ id: "add-comment", @@ -161,7 +221,8 @@ export default class DocCommentsPlugin extends Plugin { this.updateRibbon(); this.addRibbonIcon("messages-square", "Open comments sidebar", () => void this.activateSidebar()); - this.addSettingTab(new DocCommentsSettingTab(this.app, this)); + this.settingsTab = new DocCommentsSettingTab(this.app, this); + this.addSettingTab(this.settingsTab); } private startAddComment(editor: Editor): void { @@ -296,16 +357,28 @@ export default class DocCommentsPlugin extends Plugin { } private async toggleComments(): Promise { - this.settings.showComments = !this.settings.showComments; - await this.saveSettings(); + const previous = this.settings.showComments; + this.settings.showComments = !previous; + const saved = await this.saveSettings(); + if (saved.isErr()) { + this.settings.showComments = previous; + new Notice(`Couldn't save settings: ${saved.error}`); + return; + } this.updateRibbon(); this.refreshEditors(); new Notice(this.settings.showComments ? "Comments shown" : "Comments hidden"); } private async toggleResolved(): Promise { - this.settings.showResolved = !this.settings.showResolved; - await this.saveSettings(); + const previous = this.settings.showResolved; + this.settings.showResolved = !previous; + const saved = await this.saveSettings(); + if (saved.isErr()) { + this.settings.showResolved = previous; + new Notice(`Couldn't save settings: ${saved.error}`); + return; + } this.refreshEditors(); new Notice(this.settings.showResolved ? "Resolved comments shown" : "Resolved comments hidden"); } @@ -322,7 +395,21 @@ export default class DocCommentsPlugin extends Plugin { /** Force open editors + reading views (+ the sidebar) to re-evaluate live config. */ refreshEditors(): void { this.app.workspace.getLeavesOfType("markdown").forEach((leaf: WorkspaceLeaf) => { - editorViewFromLeaf(leaf)?.dispatch({}); + editorViewFromLeaf(leaf)?.dispatch({ effects: refreshCommentColors.of(null) }); + const readingView = leaf.view.containerEl.querySelector(".markdown-reading-view"); + if (!isHtmlElement(readingView)) return; + const draftColor = authorColorCss(this.highlightColorForAuthor(this.authorName())); + readingView.style.setProperty("--dc-highlight-color", draftColor); + readingView.style.setProperty("--dc-draft-highlight-color", draftColor); + readingView.querySelectorAll(".doc-comment-span[data-dc-author]").forEach((span) => { + const author = span.dataset.dcAuthor; + if (author) { + span.style.setProperty( + "--dc-highlight-color", + authorColorCss(this.highlightColorForAuthor(author)), + ); + } + }); }); this.scheduleReadingRefresh(); this.sidebarView()?.requestRefresh(); @@ -390,19 +477,172 @@ export default class DocCommentsPlugin extends Plugin { onunload(): void { this.readingManager?.destroy(); + this.unsubscribeAuthorIndex?.(); + this.authorIndex?.dispose(); } private authorName(): string { return this.settings.author.trim() || "me"; } + colorForAuthor(author: string): ResolvedAuthorColor { + const key = canonicalAuthorKey(author) || canonicalAuthorKey(this.authorName()); + const resolved = resolveAuthorColor( + this.settings.authorColors, + this.excludedAuthorColorSet, + key, + this.settings.authorColorsEnabled, + ); + if (resolved.created) this.scheduleAuthorColorSave(); + return resolved.color; + } + + highlightColorForAuthor(author: string): ResolvedAuthorColor { + return effectiveHighlightColor(this.colorForAuthor(author), this.settings.authorColorsEnabled); + } + + ensureCurrentAuthorColor(): void { + this.colorForAuthor(this.authorName()); + } + + async setAuthorColor(author: string, value: unknown): Promise { + const parsed = parseHexColor(value); + if (parsed.isErr()) { + this.settingsPersistenceError = `Couldn't save ${author}'s color: ${parsed.error}`; + this.settingsTab?.refresh(); + return; + } + const key = canonicalAuthorKey(author); + const previous = this.captureAuthorColorState(key); + this.removeAuthorColorExclusion(key); + this.settings.authorColors[key] = { color: parsed.value, mode: "custom" }; + const saved = await this.persistAuthorColors(); + if (saved.isErr()) this.restoreAuthorColorState(key, previous); + this.refreshEditors(); + this.settingsTab?.refresh(); + } + + async deleteAuthorColor(author: string): Promise { + const key = canonicalAuthorKey(author); + if (!key) return; + const previous = this.captureAuthorColorState(key); + delete this.settings.authorColors[key]; + this.excludedAuthorColorSet.add(key); + this.syncExcludedAuthorColors(); + const saved = await this.persistAuthorColors(); + if (saved.isErr()) this.restoreAuthorColorState(key, previous); + this.refreshEditors(); + this.settingsTab?.refresh(); + } + + async restoreAuthorColor(author: string): Promise { + const key = canonicalAuthorKey(author); + if (!key) return; + const previous = this.captureAuthorColorState(key); + this.removeAuthorColorExclusion(key); + ensureAuthorColor(this.settings.authorColors, key); + const saved = await this.persistAuthorColors(); + if (saved.isErr()) this.restoreAuthorColorState(key, previous); + this.refreshEditors(); + this.settingsTab?.refresh(); + } + + async rescanAuthors(): Promise { + const scanned = await Result.tryPromise({ + try: async () => this.authorIndex?.scan(), + catch: (error) => (error instanceof Error ? error.message : "Unknown vault scan error"), + }); + this.authorIndexError = scanned.isErr() ? `Couldn't scan highlight creators: ${scanned.error}` : null; + this.settingsTab?.refresh(); + } + + authorColorView(): { + state: AuthorIndexState; + active: string[]; + missing: string[]; + uncolored: string[]; + saveError: string | null; + } { + const state = this.authorIndex?.getState() ?? { status: "idle", authors: [] }; + const discovered = [...new Set([...state.authors, canonicalAuthorKey(this.authorName())])].sort((a, b) => + a.localeCompare(b), + ); + const discoveredSet = new Set(discovered); + const active = discovered.filter((author) => this.settings.authorColors[author] !== undefined); + const missing = Object.keys(this.settings.authorColors) + .filter((author) => !discoveredSet.has(author)) + .sort((a, b) => a.localeCompare(b)); + const uncolored = [...this.excludedAuthorColorSet].sort((a, b) => a.localeCompare(b)); + return { state, active, missing, uncolored, saveError: this.settingsPersistenceError ?? this.authorIndexError }; + } + + private handleAuthorIndexState(state: AuthorIndexState): void { + const created = ensureAuthorColors(this.settings.authorColors, state.authors, this.excludedAuthorColorSet); + if (created) this.scheduleAuthorColorSave(); + this.settingsTab?.refresh(); + this.refreshEditors(); + } + + private async writeSettings(errorPrefix: string): Promise> { + const saved = await saveSettingsData((data) => this.saveData(data), this.settings); + this.settingsPersistenceError = saved.isErr() ? `${errorPrefix}: ${saved.error.message}` : null; + this.settingsTab?.refresh(); + return saved.mapError((error) => error.message); + } + + private async persistAuthorColors(): Promise> { + return this.writeSettings("Couldn't persist highlight colors"); + } + async loadSettings(): Promise { - const data = ((await this.loadData()) as Partial | null) ?? {}; - this.settings = Object.assign({}, DEFAULT_SETTINGS, data); + const loaded = await loadSettingsData(() => this.loadData()); + this.settingsPersistenceError = loaded.isErr() ? `Couldn't load settings: ${loaded.error.message}` : null; + const rawData = loaded.isOk() ? loaded.value : null; + const data = rawData && typeof rawData === "object" ? (rawData as Partial) : {}; + this.settings = Object.assign({}, DEFAULT_SETTINGS, data, { + authorColors: hydrateAuthorColors(data.authorColors), + excludedAuthorColors: hydrateExcludedAuthors(data.excludedAuthorColors), + }); + this.excludedAuthorColorSet = new Set(this.settings.excludedAuthorColors); + const resolved = resolveAuthorColor( + this.settings.authorColors, + this.excludedAuthorColorSet, + this.authorName(), + this.settings.authorColorsEnabled, + ); + if (loaded.isOk() && resolved.created) await this.persistAuthorColors(); + } + + private removeAuthorColorExclusion(author: string): void { + if (!this.excludedAuthorColorSet.delete(author)) return; + this.syncExcludedAuthorColors(); + } + + private syncExcludedAuthorColors(): void { + this.settings.excludedAuthorColors = [...this.excludedAuthorColorSet].sort((a, b) => a.localeCompare(b)); + } + + private captureAuthorColorState(author: string): AuthorColorStateSnapshot { + return { + assignment: this.settings.authorColors[author], + excluded: this.excludedAuthorColorSet.has(author), + }; + } + + private restoreAuthorColorState(author: string, snapshot: AuthorColorStateSnapshot): void { + if (snapshot.assignment) this.settings.authorColors[author] = snapshot.assignment; + else delete this.settings.authorColors[author]; + if (snapshot.excluded) this.excludedAuthorColorSet.add(author); + else this.excludedAuthorColorSet.delete(author); + this.syncExcludedAuthorColors(); + } + + settingsError(): string | null { + return this.settingsPersistenceError; } - async saveSettings(): Promise { - await this.saveData(this.settings); + async saveSettings(): Promise> { + return this.writeSettings("Couldn't save settings"); } } diff --git a/src/reading/highlight.ts b/src/reading/highlight.ts index 8c03f2d..81ddfa9 100644 --- a/src/reading/highlight.ts +++ b/src/reading/highlight.ts @@ -3,6 +3,12 @@ import { ParsedComment } from "../format/types"; import { anchorRange, fencedRanges, isHighlight, parseComments } from "../format/parse"; import { isCodeComment, resolveCodeAnchor } from "../format/code-anchor"; import { commentPreview } from "../format/preview"; +import { + authorColorCss, + creatorForComment, + type AuthorColorResolver, + type ResolvedAuthorColor, +} from "../author-colors"; export type SectionRange = { from: number; @@ -74,7 +80,12 @@ const commentsFor = (text: string): ParsedComment[] => { * `.doc-comment-span[data-cid]` so the highlight shows in rendered output. * The `` / `` markers are HTML comments, already invisible. */ -export const highlightPostProcessor = (el: HTMLElement, ctx: MarkdownPostProcessorContext): void => { +export const highlightPostProcessor = ( + el: HTMLElement, + ctx: MarkdownPostProcessorContext, + colorForAuthor?: AuthorColorResolver, + currentAuthor = "me", +): void => { const info = ctx.getSectionInfo(el); if (!info) return; const { text, lineStart, lineEnd } = info; @@ -94,6 +105,8 @@ export const highlightPostProcessor = (el: HTMLElement, ctx: MarkdownPostProcess if (comments.length === 0) return; for (const c of comments) { + const author = creatorForComment(c) ?? currentAuthor; + const color = colorForAuthor?.(author); // A code comment highlights its resolved target lines within this block's //