docrev 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.gitattributes +1 -1
  2. package/CHANGELOG.md +173 -164
  3. package/PLAN-tables-and-postprocess.md +850 -850
  4. package/README.md +431 -431
  5. package/bin/rev.js +11 -11
  6. package/bin/rev.ts +145 -145
  7. package/completions/rev.bash +127 -127
  8. package/completions/rev.ps1 +210 -210
  9. package/completions/rev.zsh +207 -207
  10. package/dist/lib/anchor-match.d.ts +1 -1
  11. package/dist/lib/anchor-match.d.ts.map +1 -1
  12. package/dist/lib/anchor-match.js +17 -47
  13. package/dist/lib/anchor-match.js.map +1 -1
  14. package/dist/lib/build.js +4 -4
  15. package/dist/lib/commands/context.d.ts +1 -1
  16. package/dist/lib/commands/context.d.ts.map +1 -1
  17. package/dist/lib/commands/context.js +1 -1
  18. package/dist/lib/commands/context.js.map +1 -1
  19. package/dist/lib/commands/sections.js +7 -7
  20. package/dist/lib/commands/sections.js.map +1 -1
  21. package/dist/lib/commands/sync.d.ts.map +1 -1
  22. package/dist/lib/commands/sync.js +15 -14
  23. package/dist/lib/commands/sync.js.map +1 -1
  24. package/dist/lib/commands/utilities.js +164 -164
  25. package/dist/lib/commands/verify-anchors.js +6 -6
  26. package/dist/lib/commands/verify-anchors.js.map +1 -1
  27. package/dist/lib/commands/word-tools.js +8 -8
  28. package/dist/lib/grammar.js +3 -3
  29. package/dist/lib/macro-filter.lua +201 -201
  30. package/dist/lib/pdf-comments.js +44 -44
  31. package/dist/lib/plugins.js +57 -57
  32. package/dist/lib/pptx-color-filter.lua +37 -37
  33. package/dist/lib/pptx-themes.js +115 -115
  34. package/dist/lib/sections.d.ts +35 -0
  35. package/dist/lib/sections.d.ts.map +1 -1
  36. package/dist/lib/sections.js +81 -0
  37. package/dist/lib/sections.js.map +1 -1
  38. package/dist/lib/spelling.js +2 -2
  39. package/dist/lib/templates.js +387 -387
  40. package/dist/lib/themes.js +51 -51
  41. package/docs-src/build.py +113 -113
  42. package/docs-src/extra.css +208 -208
  43. package/docs-src/md-to-html.lua +6 -6
  44. package/docs-src/template.html +116 -116
  45. package/eslint.config.js +27 -27
  46. package/lib/anchor-match.ts +276 -308
  47. package/lib/annotations.ts +644 -644
  48. package/lib/build.ts +1766 -1766
  49. package/lib/citations.ts +160 -160
  50. package/lib/commands/build.ts +855 -855
  51. package/lib/commands/citations.ts +515 -515
  52. package/lib/commands/comments.ts +1050 -1050
  53. package/lib/commands/context.ts +176 -174
  54. package/lib/commands/core.ts +309 -309
  55. package/lib/commands/doi.ts +435 -435
  56. package/lib/commands/file-ops.ts +372 -372
  57. package/lib/commands/history.ts +320 -320
  58. package/lib/commands/index.ts +87 -87
  59. package/lib/commands/init.ts +259 -259
  60. package/lib/commands/merge-resolve.ts +378 -378
  61. package/lib/commands/preview.ts +178 -178
  62. package/lib/commands/project-info.ts +244 -244
  63. package/lib/commands/quality.ts +517 -517
  64. package/lib/commands/response.ts +454 -454
  65. package/lib/commands/section-boundaries.ts +82 -82
  66. package/lib/commands/sections.ts +451 -451
  67. package/lib/commands/sync.ts +709 -706
  68. package/lib/commands/text-ops.ts +449 -449
  69. package/lib/commands/utilities.ts +448 -448
  70. package/lib/commands/verify-anchors.ts +272 -272
  71. package/lib/commands/word-tools.ts +340 -340
  72. package/lib/comment-realign.ts +517 -517
  73. package/lib/config.ts +84 -84
  74. package/lib/crossref.ts +781 -781
  75. package/lib/csl.ts +191 -191
  76. package/lib/dependencies.ts +98 -98
  77. package/lib/diff-engine.ts +465 -465
  78. package/lib/doi-cache.ts +115 -115
  79. package/lib/doi.ts +897 -897
  80. package/lib/equations.ts +506 -506
  81. package/lib/errors.ts +346 -346
  82. package/lib/format.ts +541 -541
  83. package/lib/git.ts +326 -326
  84. package/lib/grammar.ts +303 -303
  85. package/lib/image-registry.ts +180 -180
  86. package/lib/import.ts +911 -911
  87. package/lib/journals.ts +543 -543
  88. package/lib/macro-filter.lua +201 -201
  89. package/lib/macros.ts +273 -273
  90. package/lib/merge.ts +633 -633
  91. package/lib/orcid.ts +144 -144
  92. package/lib/pdf-comments.ts +263 -263
  93. package/lib/pdf-import.ts +524 -524
  94. package/lib/plugins.ts +362 -362
  95. package/lib/postprocess.ts +188 -188
  96. package/lib/pptx-color-filter.lua +37 -37
  97. package/lib/pptx-template.ts +469 -469
  98. package/lib/pptx-themes.ts +483 -483
  99. package/lib/protect-restore.ts +520 -520
  100. package/lib/rate-limiter.ts +94 -94
  101. package/lib/response.ts +197 -197
  102. package/lib/restore-references.ts +240 -240
  103. package/lib/review.ts +327 -327
  104. package/lib/schema.ts +488 -488
  105. package/lib/scientific-words.ts +73 -73
  106. package/lib/sections.ts +425 -335
  107. package/lib/slides.ts +756 -756
  108. package/lib/spelling.ts +334 -334
  109. package/lib/templates.ts +526 -526
  110. package/lib/themes.ts +742 -742
  111. package/lib/trackchanges.ts +247 -247
  112. package/lib/tui.ts +450 -450
  113. package/lib/types.ts +550 -550
  114. package/lib/undo.ts +250 -250
  115. package/lib/utils.ts +69 -69
  116. package/lib/variables.ts +179 -179
  117. package/lib/word-extraction.ts +806 -806
  118. package/lib/word.ts +643 -643
  119. package/lib/wordcomments.ts +840 -840
  120. package/mkdocs.yml +64 -64
  121. package/package.json +137 -137
  122. package/scripts/postbuild.js +47 -47
  123. package/skill/REFERENCE.md +539 -539
  124. package/skill/SKILL.md +295 -295
  125. package/tsconfig.json +26 -26
  126. package/types/index.d.ts +525 -525
@@ -229,179 +229,179 @@ export function register(program, pkg) {
229
229
  }
230
230
  // Helper functions for help text
231
231
  function showFullHelp(pkg) {
232
- console.log(`
233
- ${chalk.bold.cyan('rev')} ${chalk.dim(`v${pkg?.version || 'unknown'}`)} - Revision workflow for Word ↔ Markdown round-trips
234
-
235
- ${chalk.bold('DESCRIPTION')}
236
- Handle reviewer feedback when collaborating on academic papers.
237
- Import changes from Word, review them interactively, and preserve
238
- comments for discussion with Claude.
239
-
240
- ${chalk.bold('GLOBAL OPTIONS')}
241
-
242
- ${chalk.bold('--no-color')} Disable colored output
243
- ${chalk.bold('-q, --quiet')} Suppress non-essential output
244
- ${chalk.bold('--json')} Output in JSON format (for scripting)
245
-
246
- ${chalk.bold('TYPICAL WORKFLOW')}
247
-
248
- ${chalk.dim('1.')} Build and send: ${chalk.green('rev build docx')} ${chalk.dim('(or rev b docx)')}
249
- ${chalk.dim('2.')} Reviewers return ${chalk.yellow('reviewed.docx')} with edits and comments
250
- ${chalk.dim('3.')} Sync their feedback: ${chalk.green('rev sync reviewed.docx')}
251
- ${chalk.dim('4.')} Work through comments: ${chalk.green('rev next')} ${chalk.dim('(n)')} / ${chalk.green('rev todo')} ${chalk.dim('(t)')}
252
- ${chalk.dim('5.')} Accept/reject changes: ${chalk.green('rev accept -a')} ${chalk.dim('(a)')} or ${chalk.green('rev review')}
253
- ${chalk.dim('6.')} Rebuild: ${chalk.green('rev build docx')}
254
- ${chalk.dim('7.')} Archive old files: ${chalk.green('rev archive')}
255
-
256
- ${chalk.bold('MORE HELP')}
257
-
258
- rev help workflow Detailed workflow guide
259
- rev help syntax Annotation syntax reference
260
- rev help commands All commands with options
232
+ console.log(`
233
+ ${chalk.bold.cyan('rev')} ${chalk.dim(`v${pkg?.version || 'unknown'}`)} - Revision workflow for Word ↔ Markdown round-trips
234
+
235
+ ${chalk.bold('DESCRIPTION')}
236
+ Handle reviewer feedback when collaborating on academic papers.
237
+ Import changes from Word, review them interactively, and preserve
238
+ comments for discussion with Claude.
239
+
240
+ ${chalk.bold('GLOBAL OPTIONS')}
241
+
242
+ ${chalk.bold('--no-color')} Disable colored output
243
+ ${chalk.bold('-q, --quiet')} Suppress non-essential output
244
+ ${chalk.bold('--json')} Output in JSON format (for scripting)
245
+
246
+ ${chalk.bold('TYPICAL WORKFLOW')}
247
+
248
+ ${chalk.dim('1.')} Build and send: ${chalk.green('rev build docx')} ${chalk.dim('(or rev b docx)')}
249
+ ${chalk.dim('2.')} Reviewers return ${chalk.yellow('reviewed.docx')} with edits and comments
250
+ ${chalk.dim('3.')} Sync their feedback: ${chalk.green('rev sync reviewed.docx')}
251
+ ${chalk.dim('4.')} Work through comments: ${chalk.green('rev next')} ${chalk.dim('(n)')} / ${chalk.green('rev todo')} ${chalk.dim('(t)')}
252
+ ${chalk.dim('5.')} Accept/reject changes: ${chalk.green('rev accept -a')} ${chalk.dim('(a)')} or ${chalk.green('rev review')}
253
+ ${chalk.dim('6.')} Rebuild: ${chalk.green('rev build docx')}
254
+ ${chalk.dim('7.')} Archive old files: ${chalk.green('rev archive')}
255
+
256
+ ${chalk.bold('MORE HELP')}
257
+
258
+ rev help workflow Detailed workflow guide
259
+ rev help syntax Annotation syntax reference
260
+ rev help commands All commands with options
261
261
  `);
262
262
  }
263
263
  function showWorkflowHelp() {
264
- console.log(`
265
- ${chalk.bold.cyan('rev')} ${chalk.dim('- Workflow Guide')}
266
-
267
- ${chalk.bold('OVERVIEW')}
268
-
269
- The rev workflow solves a common problem: you write in Markdown,
270
- but collaborators review in Word. When they return edited documents,
271
- you need to merge their changes back into your source files.
272
-
273
- ${chalk.bold('STEP 1: BUILD & SEND')}
274
-
275
- ${chalk.green('rev build docx')}
276
- ${chalk.dim('# Send the .docx to reviewers')}
277
-
278
- ${chalk.bold('STEP 2: RECEIVE FEEDBACK')}
279
-
280
- Reviewers edit the document, adding:
281
- ${chalk.dim('•')} Track changes (insertions, deletions)
282
- ${chalk.dim('•')} Comments (questions, suggestions)
283
-
284
- ${chalk.bold('STEP 3: SYNC CHANGES')}
285
-
286
- ${chalk.green('rev sync reviewed.docx')}
287
- ${chalk.dim('# Or just: rev sync (auto-detects most recent .docx)')}
288
-
289
- Your markdown files now contain their feedback as annotations.
290
-
291
- ${chalk.bold('STEP 4: WORK THROUGH COMMENTS')}
292
-
293
- ${chalk.green('rev todo')} ${chalk.dim('# See all pending comments')}
294
- ${chalk.green('rev next')} ${chalk.dim('# Show next pending comment')}
295
- ${chalk.green('rev reply file.md -n 1 -m "Done"')}
296
- ${chalk.green('rev resolve file.md -n 1')}
297
-
298
- ${chalk.bold('STEP 5: ACCEPT/REJECT CHANGES')}
299
-
300
- ${chalk.green('rev accept file.md -a')} ${chalk.dim('# Accept all changes')}
301
- ${chalk.green('rev reject file.md -n 2')} ${chalk.dim('# Reject specific change')}
302
- ${chalk.dim('# Or use interactive mode:')}
303
- ${chalk.green('rev review file.md')}
304
-
305
- ${chalk.bold('STEP 6: REBUILD')}
306
-
307
- ${chalk.green('rev build docx')}
308
- ${chalk.green('rev build docx --dual')} ${chalk.dim('# Clean + comments version')}
309
-
310
- ${chalk.bold('STEP 7: ARCHIVE & REPEAT')}
311
-
312
- ${chalk.green('rev archive')} ${chalk.dim('# Move reviewer files to archive/')}
313
- ${chalk.dim('# Send new .docx, repeat cycle')}
264
+ console.log(`
265
+ ${chalk.bold.cyan('rev')} ${chalk.dim('- Workflow Guide')}
266
+
267
+ ${chalk.bold('OVERVIEW')}
268
+
269
+ The rev workflow solves a common problem: you write in Markdown,
270
+ but collaborators review in Word. When they return edited documents,
271
+ you need to merge their changes back into your source files.
272
+
273
+ ${chalk.bold('STEP 1: BUILD & SEND')}
274
+
275
+ ${chalk.green('rev build docx')}
276
+ ${chalk.dim('# Send the .docx to reviewers')}
277
+
278
+ ${chalk.bold('STEP 2: RECEIVE FEEDBACK')}
279
+
280
+ Reviewers edit the document, adding:
281
+ ${chalk.dim('•')} Track changes (insertions, deletions)
282
+ ${chalk.dim('•')} Comments (questions, suggestions)
283
+
284
+ ${chalk.bold('STEP 3: SYNC CHANGES')}
285
+
286
+ ${chalk.green('rev sync reviewed.docx')}
287
+ ${chalk.dim('# Or just: rev sync (auto-detects most recent .docx)')}
288
+
289
+ Your markdown files now contain their feedback as annotations.
290
+
291
+ ${chalk.bold('STEP 4: WORK THROUGH COMMENTS')}
292
+
293
+ ${chalk.green('rev todo')} ${chalk.dim('# See all pending comments')}
294
+ ${chalk.green('rev next')} ${chalk.dim('# Show next pending comment')}
295
+ ${chalk.green('rev reply file.md -n 1 -m "Done"')}
296
+ ${chalk.green('rev resolve file.md -n 1')}
297
+
298
+ ${chalk.bold('STEP 5: ACCEPT/REJECT CHANGES')}
299
+
300
+ ${chalk.green('rev accept file.md -a')} ${chalk.dim('# Accept all changes')}
301
+ ${chalk.green('rev reject file.md -n 2')} ${chalk.dim('# Reject specific change')}
302
+ ${chalk.dim('# Or use interactive mode:')}
303
+ ${chalk.green('rev review file.md')}
304
+
305
+ ${chalk.bold('STEP 6: REBUILD')}
306
+
307
+ ${chalk.green('rev build docx')}
308
+ ${chalk.green('rev build docx --dual')} ${chalk.dim('# Clean + comments version')}
309
+
310
+ ${chalk.bold('STEP 7: ARCHIVE & REPEAT')}
311
+
312
+ ${chalk.green('rev archive')} ${chalk.dim('# Move reviewer files to archive/')}
313
+ ${chalk.dim('# Send new .docx, repeat cycle')}
314
314
  `);
315
315
  }
316
316
  function showSyntaxHelp() {
317
- console.log(`
318
- ${chalk.bold.cyan('rev')} ${chalk.dim('- Annotation Syntax (CriticMarkup)')}
319
-
320
- ${chalk.bold('INSERTIONS')}
321
-
322
- Syntax: ${chalk.green('{++inserted text++}')}
323
- Meaning: This text was added by the reviewer
324
-
325
- Example:
326
- We ${chalk.green('{++specifically++}')} focused on neophytes.
327
- → Reviewer added the word "specifically"
328
-
329
- ${chalk.bold('DELETIONS')}
330
-
331
- Syntax: ${chalk.red('{--deleted text--}')}
332
- Meaning: This text was removed by the reviewer
333
-
334
- Example:
335
- We focused on ${chalk.red('{--recent--}')} neophytes.
336
- → Reviewer removed the word "recent"
337
-
338
- ${chalk.bold('SUBSTITUTIONS')}
339
-
340
- Syntax: ${chalk.yellow('{~~old text~>new text~~}')}
341
- Meaning: Text was changed from old to new
342
-
343
- Example:
344
- The effect was ${chalk.yellow('{~~significant~>substantial~~}')}.
345
- → Reviewer changed "significant" to "substantial"
346
-
347
- ${chalk.bold('COMMENTS')}
348
-
349
- Syntax: ${chalk.blue('{>>Author: comment text<<}')}
350
- Meaning: Reviewer left a comment at this location
351
-
352
- Example:
353
- The results were significant. ${chalk.blue('{>>Dr. Smith: Add p-value<<}')}
354
- → Dr. Smith commented asking for a p-value
355
-
356
- Comments are placed ${chalk.bold('after')} the text they reference.
317
+ console.log(`
318
+ ${chalk.bold.cyan('rev')} ${chalk.dim('- Annotation Syntax (CriticMarkup)')}
319
+
320
+ ${chalk.bold('INSERTIONS')}
321
+
322
+ Syntax: ${chalk.green('{++inserted text++}')}
323
+ Meaning: This text was added by the reviewer
324
+
325
+ Example:
326
+ We ${chalk.green('{++specifically++}')} focused on neophytes.
327
+ → Reviewer added the word "specifically"
328
+
329
+ ${chalk.bold('DELETIONS')}
330
+
331
+ Syntax: ${chalk.red('{--deleted text--}')}
332
+ Meaning: This text was removed by the reviewer
333
+
334
+ Example:
335
+ We focused on ${chalk.red('{--recent--}')} neophytes.
336
+ → Reviewer removed the word "recent"
337
+
338
+ ${chalk.bold('SUBSTITUTIONS')}
339
+
340
+ Syntax: ${chalk.yellow('{~~old text~>new text~~}')}
341
+ Meaning: Text was changed from old to new
342
+
343
+ Example:
344
+ The effect was ${chalk.yellow('{~~significant~>substantial~~}')}.
345
+ → Reviewer changed "significant" to "substantial"
346
+
347
+ ${chalk.bold('COMMENTS')}
348
+
349
+ Syntax: ${chalk.blue('{>>Author: comment text<<}')}
350
+ Meaning: Reviewer left a comment at this location
351
+
352
+ Example:
353
+ The results were significant. ${chalk.blue('{>>Dr. Smith: Add p-value<<}')}
354
+ → Dr. Smith commented asking for a p-value
355
+
356
+ Comments are placed ${chalk.bold('after')} the text they reference.
357
357
  `);
358
358
  }
359
359
  function showCommandsHelp() {
360
- console.log(`
361
- ${chalk.bold.cyan('rev')} ${chalk.dim('- Command Reference')}
362
-
363
- ${chalk.bold('rev import')} <docx> <original-md>
364
-
365
- Import changes from a Word document by comparing against your
366
- original Markdown source.
367
-
368
- ${chalk.bold('Arguments:')}
369
- docx Word document from reviewer
370
- original-md Your original Markdown file
371
-
372
- ${chalk.bold('Options:')}
373
- -o, --output <file> Write to different file (default: overwrites original)
374
- -a, --author <name> Author name for changes (default: "Reviewer")
375
- --dry-run Preview changes without saving
376
-
377
- ${chalk.bold('rev review')} <file>
378
-
379
- Interactively review and accept/reject track changes.
380
- Comments are preserved; only track changes are processed.
381
-
382
- ${chalk.bold('Keys:')}
383
- a Accept this change
384
- r Reject this change
385
- s Skip (decide later)
386
- A Accept all remaining changes
387
- L Reject all remaining changes
388
- q Quit without saving
389
-
390
- ${chalk.bold('rev strip')} <file>
391
-
392
- Remove annotations, outputting clean Markdown.
393
- Track changes are applied (insertions kept, deletions removed).
394
-
395
- ${chalk.bold('Options:')}
396
- -o, --output <file> Write to file (default: stdout)
397
- -c, --keep-comments Keep comment annotations
398
-
399
- ${chalk.bold('rev help')} [topic]
400
-
401
- Show help. Optional topics:
402
- workflow Step-by-step workflow guide
403
- syntax Annotation syntax reference
404
- commands This command reference
360
+ console.log(`
361
+ ${chalk.bold.cyan('rev')} ${chalk.dim('- Command Reference')}
362
+
363
+ ${chalk.bold('rev import')} <docx> <original-md>
364
+
365
+ Import changes from a Word document by comparing against your
366
+ original Markdown source.
367
+
368
+ ${chalk.bold('Arguments:')}
369
+ docx Word document from reviewer
370
+ original-md Your original Markdown file
371
+
372
+ ${chalk.bold('Options:')}
373
+ -o, --output <file> Write to different file (default: overwrites original)
374
+ -a, --author <name> Author name for changes (default: "Reviewer")
375
+ --dry-run Preview changes without saving
376
+
377
+ ${chalk.bold('rev review')} <file>
378
+
379
+ Interactively review and accept/reject track changes.
380
+ Comments are preserved; only track changes are processed.
381
+
382
+ ${chalk.bold('Keys:')}
383
+ a Accept this change
384
+ r Reject this change
385
+ s Skip (decide later)
386
+ A Accept all remaining changes
387
+ L Reject all remaining changes
388
+ q Quit without saving
389
+
390
+ ${chalk.bold('rev strip')} <file>
391
+
392
+ Remove annotations, outputting clean Markdown.
393
+ Track changes are applied (insertions kept, deletions removed).
394
+
395
+ ${chalk.bold('Options:')}
396
+ -o, --output <file> Write to file (default: stdout)
397
+ -c, --keep-comments Keep comment annotations
398
+
399
+ ${chalk.bold('rev help')} [topic]
400
+
401
+ Show help. Optional topics:
402
+ workflow Step-by-step workflow guide
403
+ syntax Annotation syntax reference
404
+ commands This command reference
405
405
  `);
406
406
  }
407
407
  //# sourceMappingURL=utilities.js.map
@@ -12,7 +12,7 @@
12
12
  * ambiguous – multiple matches, can't pick one without context
13
13
  * unmatched – nothing maps; user must place the comment manually
14
14
  */
15
- import { chalk, fs, path, fmt, loadConfig, jsonMode, jsonOutput, } from './context.js';
15
+ import { chalk, fs, path, fmt, resolveSectionsConfig, jsonMode, jsonOutput, } from './context.js';
16
16
  import { findAnchorInText, classifyStrategy, scoreContextAt } from '../anchor-match.js';
17
17
  import { computeSectionBoundaries } from './section-boundaries.js';
18
18
  export function register(program) {
@@ -28,13 +28,13 @@ export function register(program) {
28
28
  console.error(fmt.status('error', `File not found: ${docxPath}`));
29
29
  process.exit(1);
30
30
  }
31
- const configPath = path.resolve(options.dir, options.config);
32
- if (!fs.existsSync(configPath)) {
33
- console.error(fmt.status('error', `Config not found: ${configPath}`));
34
- console.error(chalk.dim(' Run "rev init" first to generate sections.yaml'));
31
+ const resolved = resolveSectionsConfig(options.dir, options.config);
32
+ if (!resolved) {
33
+ console.error(fmt.status('error', `No section config found in ${path.resolve(options.dir)}`));
34
+ console.error(chalk.dim(' Add a `sections:` list to rev.yaml, or run "rev init" to generate sections.yaml.'));
35
35
  process.exit(1);
36
36
  }
37
- const config = loadConfig(configPath);
37
+ const config = resolved.config;
38
38
  const { extractWordComments, extractCommentAnchors, extractHeadings } = await import('../import.js');
39
39
  let comments;
40
40
  let anchors;
@@ -1 +1 @@
1
- {"version":3,"file":"verify-anchors.js","sourceRoot":"","sources":["../../../lib/commands/verify-anchors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-anchors.js","sourceRoot":"","sources":["../../../lib/commands/verify-anchors.ts"],"names":[],"mappings":"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"}
@@ -50,16 +50,16 @@ export function register(program) {
50
50
  }
51
51
  }
52
52
  else {
53
- commentsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
54
- <w:comments xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
53
+ commentsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
54
+ <w:comments xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
55
55
  </w:comments>`;
56
56
  }
57
57
  const author = options.author || getUserName() || 'Claude';
58
58
  const date = new Date().toISOString();
59
59
  const commentId = nextCommentId;
60
60
  // Add comment to comments.xml
61
- const newComment = `<w:comment w:id="${commentId}" w:author="${author}" w:date="${date}">
62
- <w:p><w:r><w:t>${options.message}</w:t></w:r></w:p>
61
+ const newComment = `<w:comment w:id="${commentId}" w:author="${author}" w:date="${date}">
62
+ <w:p><w:r><w:t>${options.message}</w:t></w:r></w:p>
63
63
  </w:comment>`;
64
64
  commentsXml = commentsXml.replace('</w:comments>', `${newComment}\n</w:comments>`);
65
65
  // Find text and add comment markers
@@ -200,15 +200,15 @@ export function register(program) {
200
200
  }
201
201
  }
202
202
  else {
203
- commentsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
204
- <w:comments xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
203
+ commentsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
204
+ <w:comments xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
205
205
  </w:comments>`;
206
206
  }
207
207
  const date = new Date().toISOString();
208
208
  const commentId = nextCommentId;
209
209
  // Add comment to comments.xml
210
- const newComment = `<w:comment w:id="${commentId}" w:author="${author}" w:date="${date}">
211
- <w:p><w:r><w:t>${message}</w:t></w:r></w:p>
210
+ const newComment = `<w:comment w:id="${commentId}" w:author="${author}" w:date="${date}">
211
+ <w:p><w:r><w:t>${message}</w:t></w:r></w:p>
212
212
  </w:comment>`;
213
213
  commentsXml = commentsXml.replace('</w:comments>', `${newComment}\n</w:comments>`);
214
214
  // Find text and add comment markers
@@ -125,9 +125,9 @@ export function loadDictionary(directory = '.') {
125
125
  */
126
126
  export function saveDictionary(words, directory = '.') {
127
127
  const dictPath = path.join(directory, DEFAULT_DICT_NAME);
128
- const header = `# Custom dictionary for docrev
129
- # Add one word per line
130
- # Lines starting with # are comments
128
+ const header = `# Custom dictionary for docrev
129
+ # Add one word per line
130
+ # Lines starting with # are comments
131
131
  `;
132
132
  const content = header + [...words].sort().join('\n') + '\n';
133
133
  fs.writeFileSync(dictPath, content, 'utf-8');