17fc01e8d8
Task 7 of the native-surfaces migration plan. Pure previewAnnotations.ts (annotateSource + cowritingMarkdownItPlugin) reuses trackChangesModel.ts's sentinel discipline (#33/#47), generalized to a 3-way ins-claude/ins-human/del tag (exported injectSentinels/sentinelsToSpans, colorByAuthor unaffected, 84/84 existing tests pass unmodified). Host hook in extension.ts wires registry/diffView/attribution/proposals/config into the plugin, exposed via CowritingApi.extendMarkdownIt + a previewAnnotationHost test seam. cowriting.annotations setting + toggleAnnotations command/menu. Q4 mermaid (previewScripts + options.highlight fence override) implemented per the proven bierner.markdown-mermaid pattern; intra-diagram diff augmentation scoped out (unverifiable via the structural E2E harness) — see task-7-report.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
44 lines
1.6 KiB
CSS
44 lines
1.6 KiB
CSS
/*
|
|
* Task 7 (D3/D21, PUC-3) — authorship + change annotations for the BUILT-IN VS
|
|
* Code Markdown preview (`markdown.previewStyles`). Same F10 vocabulary as the
|
|
* (sunsetting) custom webview's `media/preview.css`: style = operation
|
|
* (underline = inserted, strikethrough = removed), color = author (human
|
|
* green, Claude blue) — `cw-del` has no author variant (a single fixed
|
|
* struck-red mark; see `previewAnnotations.ts`/`trackChangesModel.ts`'s "del"
|
|
* sentinel tag). Light-theme defaults below; `body.vscode-dark` (also applied
|
|
* on high-contrast dark) overrides with the same palette the webview preview
|
|
* already ships, for continuity across both review surfaces.
|
|
*/
|
|
.cw-ins-claude {
|
|
background: rgba(9, 105, 218, 0.12);
|
|
border-bottom: 2px solid #0969da;
|
|
text-decoration: none;
|
|
}
|
|
.cw-ins-human {
|
|
background: rgba(26, 127, 55, 0.12);
|
|
border-bottom: 2px solid #1a7f37;
|
|
text-decoration: none;
|
|
}
|
|
.cw-del {
|
|
background: rgba(207, 34, 46, 0.1);
|
|
text-decoration: line-through;
|
|
text-decoration-color: #cf222e;
|
|
opacity: 0.75;
|
|
}
|
|
|
|
body.vscode-dark .cw-ins-claude,
|
|
body.vscode-high-contrast:not(.vscode-high-contrast-light) .cw-ins-claude {
|
|
background: rgba(88, 166, 255, 0.15);
|
|
border-bottom-color: #58a6ff;
|
|
}
|
|
body.vscode-dark .cw-ins-human,
|
|
body.vscode-high-contrast:not(.vscode-high-contrast-light) .cw-ins-human {
|
|
background: rgba(63, 185, 80, 0.14);
|
|
border-bottom-color: #3fb950;
|
|
}
|
|
body.vscode-dark .cw-del,
|
|
body.vscode-high-contrast:not(.vscode-high-contrast-light) .cw-del {
|
|
background: rgba(248, 81, 73, 0.11);
|
|
text-decoration-color: #f85149;
|
|
}
|