@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.
- package/dist/.setup/{browser.runtime-B8JeyUXz.mjs → browser.runtime-BfvyJ76b.mjs} +7 -11
- package/dist/assets/viewer-runtime.js +97 -1316
- package/dist/index.js +19 -42
- package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +2 -4
- package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/CodeView.js +23 -12
- package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/File.d.ts +2 -0
- package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/File.js +6 -0
- package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +18 -1
- package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/FileDiff.js +47 -15
- package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +11 -11
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +18 -17
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/constants.d.ts +1 -3
- package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/constants.js +1 -3
- package/node_modules/@pierre/diffs/dist/constants.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editor.js +16 -3
- package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editor2.js +1 -1
- package/node_modules/@pierre/diffs/dist/index.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/index.js +2 -2
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +47 -11
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +20 -13
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +30 -11
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/sprite.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/sprite.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/sprite.js +57 -0
- package/node_modules/@pierre/diffs/dist/sprite.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/style.js +1 -1
- package/node_modules/@pierre/diffs/dist/types.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +5 -4
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +32 -9
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +21 -13
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.d.ts +8 -0
- package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.js +54 -0
- package/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts +13 -10
- package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js +23 -19
- package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +39 -0
- package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +39 -0
- package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/worker/worker.js +39 -0
- package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.d.mts +28 -28
- package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.mjs +15 -12
- package/node_modules/@pierre/diffs/node_modules/@shikijs/core/package.json +4 -4
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/{engine-compile-Bdn9ihA2.d.mts → engine-compile-CtqiSkRk.d.mts} +5 -0
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-compile.mjs +2 -4
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +2 -3
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-raw.mjs +2 -4
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/index.mjs +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/string-TLTPtCPs.mjs +115 -0
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/package.json +3 -3
- package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-oniguruma/package.json +3 -3
- package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/dist/index.d.mts +31 -32
- package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/dist/index.mjs +2 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/package.json +3 -3
- package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/one-dark-pro.mjs +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/red.mjs +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
- package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/package.json +3 -3
- package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.d.mts +58 -35
- package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.mjs +35 -4
- package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/package.json +3 -3
- package/node_modules/@pierre/diffs/node_modules/@shikijs/types/dist/index.d.mts +76 -76
- package/node_modules/@pierre/diffs/node_modules/@shikijs/types/package.json +1 -1
- package/node_modules/@pierre/diffs/node_modules/micromark-util-types/index.d.ts +6 -3
- package/node_modules/@pierre/diffs/node_modules/micromark-util-types/package.json +2 -36
- package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-full.d.mts +4 -4
- package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-web.d.mts +9 -9
- package/node_modules/@pierre/diffs/node_modules/shiki/dist/types.d.mts +3 -3
- package/node_modules/@pierre/diffs/node_modules/shiki/package.json +10 -10
- package/node_modules/@pierre/diffs/package.json +1 -1
- package/node_modules/@shikijs/langs/dist/ada.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/ahk.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/beancount.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/csharp.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/css.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/dart.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/dotenv.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/gn.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/handlebars.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/julia.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/latex.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/marko.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/nextflow.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/php.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/ruby.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/rust.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/sql.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/svelte.mjs +1 -1
- package/node_modules/@shikijs/langs/dist/twig.mjs +3 -3
- package/node_modules/@shikijs/langs/dist/typespec.mjs +1 -1
- package/node_modules/@shikijs/langs/node_modules/@shikijs/types/dist/index.d.mts +76 -76
- package/node_modules/@shikijs/langs/node_modules/@shikijs/types/package.json +1 -1
- package/node_modules/@shikijs/langs/package.json +3 -3
- package/package.json +6 -6
- 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
|
-
|
|
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
|
+
"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.
|
|
34
|
-
"@shikijs/types": "4.
|
|
33
|
+
"@shikijs/core": "4.5.0",
|
|
34
|
+
"@shikijs/types": "4.5.0"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsdown",
|