@openclaw/diffs 2026.10.2 → 2026.10.5-beta.2

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 (134) hide show
  1. package/dist/.setup/{browser.runtime-B8JeyUXz.mjs → browser.runtime-BfvyJ76b.mjs} +7 -11
  2. package/dist/assets/viewer-runtime.js +97 -1316
  3. package/dist/index.js +19 -42
  4. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +2 -4
  5. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  6. package/node_modules/@pierre/diffs/dist/components/CodeView.js +23 -12
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  8. package/node_modules/@pierre/diffs/dist/components/File.d.ts +2 -0
  9. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  10. package/node_modules/@pierre/diffs/dist/components/File.js +6 -0
  11. package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
  12. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +18 -1
  13. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  14. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +47 -15
  15. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  16. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  17. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +11 -11
  18. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  19. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  20. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +18 -17
  21. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  22. package/node_modules/@pierre/diffs/dist/constants.d.ts +1 -3
  23. package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
  24. package/node_modules/@pierre/diffs/dist/constants.js +1 -3
  25. package/node_modules/@pierre/diffs/dist/constants.js.map +1 -1
  26. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -1
  27. package/node_modules/@pierre/diffs/dist/editor/editor.js +16 -3
  28. package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -1
  29. package/node_modules/@pierre/diffs/dist/editor/editor2.js +1 -1
  30. package/node_modules/@pierre/diffs/dist/index.d.ts +2 -2
  31. package/node_modules/@pierre/diffs/dist/index.js +2 -2
  32. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  33. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +47 -11
  34. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
  35. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  36. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +20 -13
  37. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  38. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  39. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +30 -11
  40. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  41. package/node_modules/@pierre/diffs/dist/sprite.d.ts +2 -2
  42. package/node_modules/@pierre/diffs/dist/sprite.d.ts.map +1 -1
  43. package/node_modules/@pierre/diffs/dist/sprite.js +57 -0
  44. package/node_modules/@pierre/diffs/dist/sprite.js.map +1 -1
  45. package/node_modules/@pierre/diffs/dist/style.js +1 -1
  46. package/node_modules/@pierre/diffs/dist/types.d.ts +1 -1
  47. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  48. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +5 -4
  49. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -1
  50. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +32 -9
  51. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -1
  52. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
  53. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +21 -13
  54. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  55. package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.d.ts +8 -0
  56. package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.d.ts.map +1 -0
  57. package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.js +54 -0
  58. package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.js.map +1 -0
  59. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts +13 -10
  60. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts.map +1 -1
  61. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js +23 -19
  62. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js.map +1 -1
  63. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +39 -0
  64. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  65. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +39 -0
  66. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  67. package/node_modules/@pierre/diffs/dist/worker/worker.js +39 -0
  68. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  69. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.d.mts +28 -28
  70. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.mjs +15 -12
  71. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/package.json +4 -4
  72. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/{engine-compile-Bdn9ihA2.d.mts → engine-compile-CtqiSkRk.d.mts} +5 -0
  73. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
  74. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-compile.mjs +2 -4
  75. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +2 -3
  76. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-raw.mjs +2 -4
  77. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
  78. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/index.mjs +1 -1
  79. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/string-TLTPtCPs.mjs +115 -0
  80. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/package.json +3 -3
  81. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-oniguruma/package.json +3 -3
  82. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/dist/index.d.mts +31 -32
  83. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/dist/index.mjs +2 -1
  84. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/package.json +3 -3
  85. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
  86. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/one-dark-pro.mjs +1 -1
  87. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/red.mjs +1 -1
  88. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
  89. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
  90. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/package.json +3 -3
  91. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.d.mts +58 -35
  92. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.mjs +35 -4
  93. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/package.json +3 -3
  94. package/node_modules/@pierre/diffs/node_modules/@shikijs/types/dist/index.d.mts +76 -76
  95. package/node_modules/@pierre/diffs/node_modules/@shikijs/types/package.json +1 -1
  96. package/node_modules/@pierre/diffs/node_modules/micromark-util-types/index.d.ts +6 -3
  97. package/node_modules/@pierre/diffs/node_modules/micromark-util-types/package.json +2 -36
  98. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-full.d.mts +4 -4
  99. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-web.d.mts +9 -9
  100. package/node_modules/@pierre/diffs/node_modules/shiki/dist/types.d.mts +3 -3
  101. package/node_modules/@pierre/diffs/node_modules/shiki/package.json +10 -10
  102. package/node_modules/@pierre/diffs/package.json +1 -1
  103. package/node_modules/@shikijs/langs/dist/ada.mjs +1 -1
  104. package/node_modules/@shikijs/langs/dist/ahk.mjs +1 -1
  105. package/node_modules/@shikijs/langs/dist/beancount.mjs +1 -1
  106. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  107. package/node_modules/@shikijs/langs/dist/csharp.mjs +1 -1
  108. package/node_modules/@shikijs/langs/dist/css.mjs +1 -1
  109. package/node_modules/@shikijs/langs/dist/dart.mjs +1 -1
  110. package/node_modules/@shikijs/langs/dist/dotenv.mjs +1 -1
  111. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  112. package/node_modules/@shikijs/langs/dist/gn.mjs +1 -1
  113. package/node_modules/@shikijs/langs/dist/handlebars.mjs +1 -1
  114. package/node_modules/@shikijs/langs/dist/julia.mjs +1 -1
  115. package/node_modules/@shikijs/langs/dist/latex.mjs +1 -1
  116. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  117. package/node_modules/@shikijs/langs/dist/marko.mjs +1 -1
  118. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  119. package/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +1 -1
  120. package/node_modules/@shikijs/langs/dist/nextflow.mjs +1 -1
  121. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  122. package/node_modules/@shikijs/langs/dist/php.mjs +1 -1
  123. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  124. package/node_modules/@shikijs/langs/dist/ruby.mjs +1 -1
  125. package/node_modules/@shikijs/langs/dist/rust.mjs +1 -1
  126. package/node_modules/@shikijs/langs/dist/sql.mjs +1 -1
  127. package/node_modules/@shikijs/langs/dist/svelte.mjs +1 -1
  128. package/node_modules/@shikijs/langs/dist/twig.mjs +3 -3
  129. package/node_modules/@shikijs/langs/dist/typespec.mjs +1 -1
  130. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/dist/index.d.mts +76 -76
  131. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/package.json +1 -1
  132. package/node_modules/@shikijs/langs/package.json +3 -3
  133. package/package.json +6 -6
  134. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/scanner-DX8LRFGE.mjs +0 -77
@@ -12,10 +12,10 @@ interface MatchAlgorithmOptions {
12
12
  */
13
13
  matchAlgorithm?: MatchAlgorithm;
14
14
  }
15
- declare function createCommentNotationTransformer(name: string, regex: RegExp, onMatch: (this: ShikiTransformerContext, match: string[], line: Element, commentNode: Element, lines: Element[], index: number) => boolean, matchAlgorithm: MatchAlgorithm | undefined): ShikiTransformer;
15
+ export declare function createCommentNotationTransformer(name: string, regex: RegExp, onMatch: (this: ShikiTransformerContext, match: string[], line: Element, commentNode: Element, lines: Element[], index: number) => boolean, matchAlgorithm: MatchAlgorithm | undefined): ShikiTransformer;
16
16
  //#endregion
17
17
  //#region src/transformers/compact-line-options.d.ts
18
- interface TransformerCompactLineOption {
18
+ export interface TransformerCompactLineOption {
19
19
  /**
20
20
  * 1-based line number.
21
21
  */
@@ -25,11 +25,11 @@ interface TransformerCompactLineOption {
25
25
  /**
26
26
  * Transformer for `shiki`'s legacy `lineOptions`
27
27
  */
28
- declare function transformerCompactLineOptions(lineOptions?: TransformerCompactLineOption[]): ShikiTransformer$1;
28
+ export declare function transformerCompactLineOptions(lineOptions?: TransformerCompactLineOption[]): ShikiTransformer$1;
29
29
  //#endregion
30
30
  //#region src/transformers/meta-highlight.d.ts
31
- declare function parseMetaHighlightString(meta: string): number[] | null;
32
- interface TransformerMetaHighlightOptions {
31
+ export declare function parseMetaHighlightString(meta: string): number[] | null;
32
+ export interface TransformerMetaHighlightOptions {
33
33
  /**
34
34
  * Class for highlighted lines
35
35
  *
@@ -46,11 +46,11 @@ interface TransformerMetaHighlightOptions {
46
46
  /**
47
47
  * Allow using `{1,3-5}` in the code snippet meta to mark highlighted lines.
48
48
  */
49
- declare function transformerMetaHighlight(options?: TransformerMetaHighlightOptions): ShikiTransformer$1;
49
+ export declare function transformerMetaHighlight(options?: TransformerMetaHighlightOptions): ShikiTransformer$1;
50
50
  //#endregion
51
51
  //#region src/transformers/meta-highlight-word.d.ts
52
- declare function parseMetaHighlightWords(meta: string): string[];
53
- interface TransformerMetaWordHighlightOptions {
52
+ export declare function parseMetaHighlightWords(meta: string): string[];
53
+ export interface TransformerMetaWordHighlightOptions {
54
54
  /**
55
55
  * Class for highlighted words
56
56
  *
@@ -61,11 +61,11 @@ interface TransformerMetaWordHighlightOptions {
61
61
  /**
62
62
  * Allow using `/word/` in the code snippet meta to mark highlighted words.
63
63
  */
64
- declare function transformerMetaWordHighlight(options?: TransformerMetaWordHighlightOptions): ShikiTransformer$1;
65
- declare function findAllSubstringIndexes(str: string, substr: string): number[];
64
+ export declare function transformerMetaWordHighlight(options?: TransformerMetaWordHighlightOptions): ShikiTransformer$1;
65
+ export declare function findAllSubstringIndexes(str: string, substr: string): number[];
66
66
  //#endregion
67
67
  //#region src/transformers/notation-diff.d.ts
68
- interface TransformerNotationDiffOptions extends MatchAlgorithmOptions {
68
+ export interface TransformerNotationDiffOptions extends MatchAlgorithmOptions {
69
69
  /**
70
70
  * Class for added lines
71
71
  */
@@ -86,10 +86,10 @@ interface TransformerNotationDiffOptions extends MatchAlgorithmOptions {
86
86
  /**
87
87
  * Use `[!code ++]` and `[!code --]` to mark added and removed lines.
88
88
  */
89
- declare function transformerNotationDiff(options?: TransformerNotationDiffOptions): ShikiTransformer$1;
89
+ export declare function transformerNotationDiff(options?: TransformerNotationDiffOptions): ShikiTransformer$1;
90
90
  //#endregion
91
91
  //#region src/transformers/notation-error-level.d.ts
92
- interface TransformerNotationErrorLevelOptions extends MatchAlgorithmOptions {
92
+ export interface TransformerNotationErrorLevelOptions extends MatchAlgorithmOptions {
93
93
  classMap?: Record<string, string | string[]>;
94
94
  /**
95
95
  * Class added to the <pre> element when the current code has diff
@@ -103,10 +103,10 @@ interface TransformerNotationErrorLevelOptions extends MatchAlgorithmOptions {
103
103
  /**
104
104
  * Allow using `[!code error]` `[!code warning]` notation in code to mark highlighted lines.
105
105
  */
106
- declare function transformerNotationErrorLevel(options?: TransformerNotationErrorLevelOptions): ShikiTransformer$1;
106
+ export declare function transformerNotationErrorLevel(options?: TransformerNotationErrorLevelOptions): ShikiTransformer$1;
107
107
  //#endregion
108
108
  //#region src/transformers/notation-focus.d.ts
109
- interface TransformerNotationFocusOptions extends MatchAlgorithmOptions {
109
+ export interface TransformerNotationFocusOptions extends MatchAlgorithmOptions {
110
110
  /**
111
111
  * Class for focused lines
112
112
  */
@@ -123,10 +123,10 @@ interface TransformerNotationFocusOptions extends MatchAlgorithmOptions {
123
123
  /**
124
124
  * Allow using `[!code focus]` notation in code to mark focused lines.
125
125
  */
126
- declare function transformerNotationFocus(options?: TransformerNotationFocusOptions): ShikiTransformer$1;
126
+ export declare function transformerNotationFocus(options?: TransformerNotationFocusOptions): ShikiTransformer$1;
127
127
  //#endregion
128
128
  //#region src/transformers/notation-highlight.d.ts
129
- interface TransformerNotationHighlightOptions extends MatchAlgorithmOptions {
129
+ export interface TransformerNotationHighlightOptions extends MatchAlgorithmOptions {
130
130
  /**
131
131
  * Class for highlighted lines
132
132
  */
@@ -143,10 +143,10 @@ interface TransformerNotationHighlightOptions extends MatchAlgorithmOptions {
143
143
  /**
144
144
  * Allow using `[!code highlight]` notation in code to mark highlighted lines.
145
145
  */
146
- declare function transformerNotationHighlight(options?: TransformerNotationHighlightOptions): ShikiTransformer$1;
146
+ export declare function transformerNotationHighlight(options?: TransformerNotationHighlightOptions): ShikiTransformer$1;
147
147
  //#endregion
148
148
  //#region src/transformers/notation-highlight-word.d.ts
149
- interface TransformerNotationWordHighlightOptions extends MatchAlgorithmOptions {
149
+ export interface TransformerNotationWordHighlightOptions extends MatchAlgorithmOptions {
150
150
  /**
151
151
  * Class for highlighted words
152
152
  */
@@ -155,11 +155,15 @@ interface TransformerNotationWordHighlightOptions extends MatchAlgorithmOptions
155
155
  * Class added to the root element when the code has highlighted words
156
156
  */
157
157
  classActivePre?: string;
158
+ /**
159
+ * Class added to the <code> element when the code has highlighted words
160
+ */
161
+ classActiveCode?: string;
158
162
  }
159
- declare function transformerNotationWordHighlight(options?: TransformerNotationWordHighlightOptions): ShikiTransformer$1;
163
+ export declare function transformerNotationWordHighlight(options?: TransformerNotationWordHighlightOptions): ShikiTransformer$1;
160
164
  //#endregion
161
165
  //#region src/transformers/notation-map.d.ts
162
- interface TransformerNotationMapOptions extends MatchAlgorithmOptions {
166
+ export interface TransformerNotationMapOptions extends MatchAlgorithmOptions {
163
167
  classMap?: Record<string, string | string[]>;
164
168
  /**
165
169
  * Class added to the <pre> element when the current code has diff
@@ -170,10 +174,10 @@ interface TransformerNotationMapOptions extends MatchAlgorithmOptions {
170
174
  */
171
175
  classActiveCode?: string;
172
176
  }
173
- declare function transformerNotationMap(options?: TransformerNotationMapOptions, name?: string): ShikiTransformer$1;
177
+ export declare function transformerNotationMap(options?: TransformerNotationMapOptions, name?: string): ShikiTransformer$1;
174
178
  //#endregion
175
179
  //#region src/transformers/remove-comments.d.ts
176
- interface TransformerRemoveCommentsOptions {
180
+ export interface TransformerRemoveCommentsOptions {
177
181
  /**
178
182
  * Remove lines that become empty after removing comments.
179
183
  * @default true
@@ -183,14 +187,14 @@ interface TransformerRemoveCommentsOptions {
183
187
  /**
184
188
  * Remove comments from the code.
185
189
  */
186
- declare function transformerRemoveComments(options?: TransformerRemoveCommentsOptions): ShikiTransformer$1;
190
+ export declare function transformerRemoveComments(options?: TransformerRemoveCommentsOptions): ShikiTransformer$1;
187
191
  //#endregion
188
192
  //#region src/transformers/remove-line-breaks.d.ts
189
193
  /**
190
194
  * Remove line breaks between lines.
191
195
  * Useful when you override `display: block` to `.line` in CSS.
192
196
  */
193
- declare function transformerRemoveLineBreak(): ShikiTransformer$1;
197
+ export declare function transformerRemoveLineBreak(): ShikiTransformer$1;
194
198
  //#endregion
195
199
  //#region src/transformers/remove-notation-escape.d.ts
196
200
  /**
@@ -198,20 +202,40 @@ declare function transformerRemoveLineBreak(): ShikiTransformer$1;
198
202
  * Useful when you want to write `// [!code` in markdown.
199
203
  * If you process `// [\!code ...]` expression, you can get `// [!code ...]` in the output.
200
204
  */
201
- declare function transformerRemoveNotationEscape(): ShikiTransformer$1;
205
+ export declare function transformerRemoveNotationEscape(): ShikiTransformer$1;
202
206
  //#endregion
203
207
  //#region src/transformers/render-indent-guides.d.ts
204
- interface TransformerRenderIndentGuidesOptions {
208
+ export interface TransformerRenderIndentGuidesOptions {
205
209
  indent?: number | false;
206
210
  }
207
211
  /**
208
212
  * Render indentations as separate tokens.
209
213
  * Apply with CSS, it can be used to render indent guides visually.
210
214
  */
211
- declare function transformerRenderIndentGuides(options?: TransformerRenderIndentGuidesOptions): ShikiTransformer$1;
215
+ export declare function transformerRenderIndentGuides(options?: TransformerRenderIndentGuidesOptions): ShikiTransformer$1;
216
+ //#endregion
217
+ //#region src/transformers/render-line-number.d.ts
218
+ export interface TransformerRenderLineNumberOptions {
219
+ /**
220
+ * Class for line number
221
+ * @default 'line-number'
222
+ */
223
+ classLineNumber?: string;
224
+ /**
225
+ * Start number
226
+ * @default 1
227
+ */
228
+ start?: number;
229
+ }
230
+ /**
231
+ * Render line number as separate tokens.
232
+ *
233
+ * @param options
234
+ */
235
+ export declare function transformerRenderLineNumber(options?: TransformerRenderLineNumberOptions): ShikiTransformer$1;
212
236
  //#endregion
213
237
  //#region src/transformers/render-whitespace.d.ts
214
- interface TransformerRenderWhitespaceOptions {
238
+ export interface TransformerRenderWhitespaceOptions {
215
239
  /**
216
240
  * Class for tab
217
241
  *
@@ -234,10 +258,10 @@ interface TransformerRenderWhitespaceOptions {
234
258
  * Render whitespaces as separate tokens.
235
259
  * Apply with CSS, it can be used to render tabs and spaces visually.
236
260
  */
237
- declare function transformerRenderWhitespace(options?: TransformerRenderWhitespaceOptions): ShikiTransformer$1;
261
+ export declare function transformerRenderWhitespace(options?: TransformerRenderWhitespaceOptions): ShikiTransformer$1;
238
262
  //#endregion
239
263
  //#region src/transformers/style-to-class.d.ts
240
- interface TransformerStyleToClassOptions {
264
+ export interface TransformerStyleToClassOptions {
241
265
  /**
242
266
  * Prefix for class names.
243
267
  * @default '__shiki_'
@@ -254,7 +278,7 @@ interface TransformerStyleToClassOptions {
254
278
  */
255
279
  classReplacer?: (className: string) => string;
256
280
  }
257
- interface ShikiTransformerStyleToClass extends ShikiTransformer$1 {
281
+ export interface ShikiTransformerStyleToClass extends ShikiTransformer$1 {
258
282
  getClassRegistry: () => Map<string, Record<string, string> | string>;
259
283
  getCSS: () => string;
260
284
  clearRegistry: () => void;
@@ -263,6 +287,5 @@ interface ShikiTransformerStyleToClass extends ShikiTransformer$1 {
263
287
  * Remove line breaks between lines.
264
288
  * Useful when you override `display: block` to `.line` in CSS.
265
289
  */
266
- declare function transformerStyleToClass(options?: TransformerStyleToClassOptions): ShikiTransformerStyleToClass;
267
- //#endregion
268
- export { ShikiTransformerStyleToClass, TransformerCompactLineOption, TransformerMetaHighlightOptions, TransformerMetaWordHighlightOptions, TransformerNotationDiffOptions, TransformerNotationErrorLevelOptions, TransformerNotationFocusOptions, TransformerNotationHighlightOptions, TransformerNotationMapOptions, TransformerNotationWordHighlightOptions, TransformerRemoveCommentsOptions, TransformerRenderIndentGuidesOptions, TransformerRenderWhitespaceOptions, TransformerStyleToClassOptions, createCommentNotationTransformer, findAllSubstringIndexes, parseMetaHighlightString, parseMetaHighlightWords, transformerCompactLineOptions, transformerMetaHighlight, transformerMetaWordHighlight, transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight, transformerNotationMap, transformerNotationWordHighlight, transformerRemoveComments, transformerRemoveLineBreak, transformerRemoveNotationEscape, transformerRenderIndentGuides, transformerRenderWhitespace, transformerStyleToClass };
290
+ export declare function transformerStyleToClass(options?: TransformerStyleToClassOptions): ShikiTransformerStyleToClass;
291
+ //#endregion
@@ -2,6 +2,7 @@
2
2
  const RE_SPLIT_COMMENT = /(\s+\/\/)/;
3
3
  const RE_V1_END_COMMENT_PREFIX = /(?:\/\/|["'#]|;{1,2}|%{1,2}|--)(\s*)$/;
4
4
  const RE_V3_END_COMMENT_PREFIX = /(?:\/\/|#|;{1,2}|%{1,2}|--)(\s*)$/;
5
+ const RE_LINE_COMMENT_PREFIX = /^(?:\/\/|["'#]|;{1,2}|%{1,2}|--)$/;
5
6
  /**
6
7
  * some comment formats have to be located at the end of line
7
8
  * hence we can skip matching them for other tokens
@@ -61,7 +62,7 @@ function parseComments(lines, jsx, matchAlgorithm) {
61
62
  const prevToken = elements[i - 1];
62
63
  if (prevToken?.type === "element") {
63
64
  const prevHead = prevToken.children.at(0);
64
- if (prevHead?.type === "text" && prevHead.value.includes("//")) {
65
+ if (prevHead?.type === "text" && (prevHead.value.includes("//") || RE_LINE_COMMENT_PREFIX.test(prevHead.value.trim()))) {
65
66
  const combinedMatch = matchToken(prevHead.value + head.value, isLast);
66
67
  if (combinedMatch) {
67
68
  match = combinedMatch;
@@ -149,6 +150,7 @@ function v3ClearEndCommentPrefix(text) {
149
150
  }
150
151
  //#endregion
151
152
  //#region src/shared/notation-transformer.ts
153
+ const RE_NOTATION = /#?\s*\[!code\b(?:\\.|[^\]])*\]/gi;
152
154
  function createCommentNotationTransformer(name, regex, onMatch, matchAlgorithm) {
153
155
  matchAlgorithm ??= "v3";
154
156
  return {
@@ -163,7 +165,8 @@ function createCommentNotationTransformer(name, regex, onMatch, matchAlgorithm)
163
165
  for (const comment of parsed) {
164
166
  if (comment.info[1].length === 0) continue;
165
167
  let lineIdx = lines.indexOf(comment.line);
166
- if (comment.isLineCommentOnly && matchAlgorithm !== "v1") lineIdx++;
168
+ const isStandaloneNotation = comment.info[1].replace(RE_NOTATION, "").replace(regex, "").trim().length === 0;
169
+ if (comment.isLineCommentOnly && isStandaloneNotation && matchAlgorithm !== "v1") lineIdx++;
167
170
  let replaced = false;
168
171
  comment.info[1] = comment.info[1].replace(regex, (...match) => {
169
172
  if (onMatch.call(this, match, comment.line, comment.token, lines, lineIdx)) {
@@ -446,12 +449,13 @@ function inheritElement(original, overrides) {
446
449
  const RE_CODE_WORD = /\s*\[!code word:((?:\\.|[^:\]])+)(:\d+)?\]/;
447
450
  const RE_UNESCAPE = /\\(.)/g;
448
451
  function transformerNotationWordHighlight(options = {}) {
449
- const { classActiveWord = "highlighted-word", classActivePre = void 0 } = options;
452
+ const { classActiveWord = "highlighted-word", classActivePre = void 0, classActiveCode = void 0 } = options;
450
453
  return createCommentNotationTransformer("@shikijs/transformers:notation-highlight-word", RE_CODE_WORD, function([_, word, range], _line, comment, lines, index) {
451
454
  const lineNum = range ? Number.parseInt(range.slice(1), 10) : lines.length;
452
455
  word = word.replace(RE_UNESCAPE, "$1");
453
456
  for (let i = index; i < Math.min(index + lineNum, lines.length); i++) highlightWordInLine.call(this, lines[i], comment, word, classActiveWord);
454
457
  if (classActivePre) this.addClassToHast(this.pre, classActivePre);
458
+ if (classActiveCode) this.addClassToHast(this.code, classActiveCode);
455
459
  return true;
456
460
  }, options.matchAlgorithm);
457
461
  }
@@ -578,6 +582,33 @@ function transformerRenderIndentGuides(options = {}) {
578
582
  };
579
583
  }
580
584
  //#endregion
585
+ //#region src/transformers/render-line-number.ts
586
+ /**
587
+ * Render line number as separate tokens.
588
+ *
589
+ * @param options
590
+ */
591
+ function transformerRenderLineNumber(options = {}) {
592
+ const { classLineNumber = "line-number", start = 1 } = options;
593
+ return {
594
+ name: "@shikijs/transformers:render-line-number",
595
+ line(node, line) {
596
+ if (node.tagName === "span") {
597
+ const num = start + line - 1;
598
+ node.children.unshift({
599
+ type: "element",
600
+ tagName: "span",
601
+ properties: { class: classLineNumber },
602
+ children: [{
603
+ type: "text",
604
+ value: String(num)
605
+ }]
606
+ });
607
+ }
608
+ }
609
+ };
610
+ }
611
+ //#endregion
581
612
  //#region src/shared/utils.ts
582
613
  function isTab(part) {
583
614
  return part === " ";
@@ -741,4 +772,4 @@ function cyrb53(str, seed = 0) {
741
772
  return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36).slice(0, 6);
742
773
  }
743
774
  //#endregion
744
- export { createCommentNotationTransformer, findAllSubstringIndexes, parseMetaHighlightString, parseMetaHighlightWords, transformerCompactLineOptions, transformerMetaHighlight, transformerMetaWordHighlight, transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight, transformerNotationMap, transformerNotationWordHighlight, transformerRemoveComments, transformerRemoveLineBreak, transformerRemoveNotationEscape, transformerRenderIndentGuides, transformerRenderWhitespace, transformerStyleToClass };
775
+ export { createCommentNotationTransformer, findAllSubstringIndexes, parseMetaHighlightString, parseMetaHighlightWords, transformerCompactLineOptions, transformerMetaHighlight, transformerMetaWordHighlight, transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight, transformerNotationMap, transformerNotationWordHighlight, transformerRemoveComments, transformerRemoveLineBreak, transformerRemoveNotationEscape, transformerRenderIndentGuides, transformerRenderLineNumber, transformerRenderWhitespace, transformerStyleToClass };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shikijs/transformers",
3
3
  "type": "module",
4
- "version": "4.4.3",
4
+ "version": "4.5.0",
5
5
  "description": "Collective of common transformers transformers for Shiki",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -30,8 +30,8 @@
30
30
  "node": ">=20"
31
31
  },
32
32
  "dependencies": {
33
- "@shikijs/core": "4.4.3",
34
- "@shikijs/types": "4.4.3"
33
+ "@shikijs/core": "4.5.0",
34
+ "@shikijs/types": "4.5.0"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsdown",