@abelfubu/dv 0.1.0
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/ansi-html.d.ts +42 -0
- package/dist/ansi-html.d.ts.map +1 -0
- package/dist/ansi-html.js +327 -0
- package/dist/ansi-output.d.ts +22 -0
- package/dist/ansi-output.d.ts.map +1 -0
- package/dist/ansi-output.js +154 -0
- package/dist/balance-delimiters.d.ts +25 -0
- package/dist/balance-delimiters.d.ts.map +1 -0
- package/dist/balance-delimiters.js +539 -0
- package/dist/balance-delimiters.test.d.ts +2 -0
- package/dist/balance-delimiters.test.d.ts.map +1 -0
- package/dist/balance-delimiters.test.js +1029 -0
- package/dist/cli-copy-notification.test.d.ts +2 -0
- package/dist/cli-copy-notification.test.d.ts.map +1 -0
- package/dist/cli-copy-notification.test.js +80 -0
- package/dist/cli-scroll.test.d.ts +2 -0
- package/dist/cli-scroll.test.d.ts.map +1 -0
- package/dist/cli-scroll.test.js +283 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +976 -0
- package/dist/clipboard.d.ts +16 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +128 -0
- package/dist/components/diff-view.d.ts +32 -0
- package/dist/components/diff-view.d.ts.map +1 -0
- package/dist/components/diff-view.js +123 -0
- package/dist/components/diff-view.test.d.ts +5 -0
- package/dist/components/diff-view.test.d.ts.map +1 -0
- package/dist/components/diff-view.test.js +312 -0
- package/dist/components/directory-tree-view.d.ts +33 -0
- package/dist/components/directory-tree-view.d.ts.map +1 -0
- package/dist/components/directory-tree-view.js +262 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +5 -0
- package/dist/components/toast.d.ts +21 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toast.js +47 -0
- package/dist/diff-cursor-utils.d.ts +20 -0
- package/dist/diff-cursor-utils.d.ts.map +1 -0
- package/dist/diff-cursor-utils.js +105 -0
- package/dist/diff-cursor-utils.test.d.ts +2 -0
- package/dist/diff-cursor-utils.test.d.ts.map +1 -0
- package/dist/diff-cursor-utils.test.js +40 -0
- package/dist/diff-surface-copy.d.ts +23 -0
- package/dist/diff-surface-copy.d.ts.map +1 -0
- package/dist/diff-surface-copy.js +64 -0
- package/dist/diff-surface-copy.test.d.ts +5 -0
- package/dist/diff-surface-copy.test.d.ts.map +1 -0
- package/dist/diff-surface-copy.test.js +142 -0
- package/dist/diff-utils.d.ts +196 -0
- package/dist/diff-utils.d.ts.map +1 -0
- package/dist/diff-utils.js +682 -0
- package/dist/diff-utils.test.d.ts +2 -0
- package/dist/diff-utils.test.d.ts.map +1 -0
- package/dist/diff-utils.test.js +727 -0
- package/dist/directory-tree.d.ts +72 -0
- package/dist/directory-tree.d.ts.map +1 -0
- package/dist/directory-tree.js +161 -0
- package/dist/directory-tree.test.d.ts +2 -0
- package/dist/directory-tree.test.d.ts.map +1 -0
- package/dist/directory-tree.test.js +383 -0
- package/dist/dropdown.d.ts +26 -0
- package/dist/dropdown.d.ts.map +1 -0
- package/dist/dropdown.js +172 -0
- package/dist/dropdown.test.d.ts +2 -0
- package/dist/dropdown.test.d.ts.map +1 -0
- package/dist/dropdown.test.js +106 -0
- package/dist/filter-submodule.e2e.test.d.ts +2 -0
- package/dist/filter-submodule.e2e.test.d.ts.map +1 -0
- package/dist/filter-submodule.e2e.test.js +109 -0
- package/dist/hooks/use-copy-selection.d.ts +29 -0
- package/dist/hooks/use-copy-selection.d.ts.map +1 -0
- package/dist/hooks/use-copy-selection.js +46 -0
- package/dist/kv-codec.d.ts +16 -0
- package/dist/kv-codec.d.ts.map +1 -0
- package/dist/kv-codec.js +36 -0
- package/dist/license.d.ts +14 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +63 -0
- package/dist/logger.d.ts +9 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +78 -0
- package/dist/monochrome.d.ts +34 -0
- package/dist/monochrome.d.ts.map +1 -0
- package/dist/monochrome.js +613 -0
- package/dist/monotone.d.ts +22 -0
- package/dist/monotone.d.ts.map +1 -0
- package/dist/monotone.js +185 -0
- package/dist/parsers-config.d.ts +19 -0
- package/dist/parsers-config.d.ts.map +1 -0
- package/dist/parsers-config.js +271 -0
- package/dist/patch-terminal-dimensions.d.ts +2 -0
- package/dist/patch-terminal-dimensions.d.ts.map +1 -0
- package/dist/patch-terminal-dimensions.js +45 -0
- package/dist/stdin-pager.test.d.ts +2 -0
- package/dist/stdin-pager.test.d.ts.map +1 -0
- package/dist/stdin-pager.test.js +497 -0
- package/dist/store.d.ts +16 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +48 -0
- package/dist/themes/github.json +247 -0
- package/dist/themes.d.ts +59 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/themes.js +248 -0
- package/dist/tree-icons.d.ts +4 -0
- package/dist/tree-icons.d.ts.map +1 -0
- package/dist/tree-icons.js +18 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +13 -0
- package/dist/web-utils.d.ts +56 -0
- package/dist/web-utils.d.ts.map +1 -0
- package/dist/web-utils.js +363 -0
- package/package.json +37 -0
- package/public/jetbrains-mono-nerd.ttf +0 -0
- package/public/jetbrains-mono-nerd.woff2 +0 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opencode.ai/theme.json",
|
|
3
|
+
"defs": {
|
|
4
|
+
"darkBg": "#000000",
|
|
5
|
+
"darkBgPanel": "#0d1117",
|
|
6
|
+
"darkBgElement": "#161b22",
|
|
7
|
+
"darkFg": "#e6edf3",
|
|
8
|
+
"darkFgMuted": "#8b949e",
|
|
9
|
+
"darkConceal": "#484f58",
|
|
10
|
+
"darkBorder": "#30363d",
|
|
11
|
+
"darkBorderSubtle": "#21262d",
|
|
12
|
+
"darkKeyword": "#ff7b72",
|
|
13
|
+
"darkString": "#a5d6ff",
|
|
14
|
+
"darkConstant": "#79c0ff",
|
|
15
|
+
"darkVariable": "#ffa657",
|
|
16
|
+
"darkFunction": "#d2a8ff",
|
|
17
|
+
"darkTag": "#7ee787",
|
|
18
|
+
"darkGreen": "#3fb950",
|
|
19
|
+
"darkRed": "#f85149",
|
|
20
|
+
"darkOrange": "#d29922",
|
|
21
|
+
"darkYellow": "#e3b341",
|
|
22
|
+
"darkCyan": "#39c5cf",
|
|
23
|
+
"lightBg": "#ffffff",
|
|
24
|
+
"lightBgAlt": "#f6f8fa",
|
|
25
|
+
"lightBgPanel": "#f0f3f6",
|
|
26
|
+
"lightFg": "#24292f",
|
|
27
|
+
"lightFgMuted": "#57606a",
|
|
28
|
+
"lightConceal": "#8c959f",
|
|
29
|
+
"lightKeyword": "#cf222e",
|
|
30
|
+
"lightString": "#0a3069",
|
|
31
|
+
"lightConstant": "#0550ae",
|
|
32
|
+
"lightVariable": "#953800",
|
|
33
|
+
"lightFunction": "#8250df",
|
|
34
|
+
"lightTag": "#116329",
|
|
35
|
+
"lightGreen": "#1a7f37",
|
|
36
|
+
"lightRed": "#cf222e",
|
|
37
|
+
"lightOrange": "#bc4c00",
|
|
38
|
+
"lightYellow": "#9a6700",
|
|
39
|
+
"lightCyan": "#1b7c83"
|
|
40
|
+
},
|
|
41
|
+
"theme": {
|
|
42
|
+
"primary": {
|
|
43
|
+
"dark": "darkConstant",
|
|
44
|
+
"light": "lightConstant"
|
|
45
|
+
},
|
|
46
|
+
"secondary": {
|
|
47
|
+
"dark": "darkFunction",
|
|
48
|
+
"light": "lightFunction"
|
|
49
|
+
},
|
|
50
|
+
"accent": {
|
|
51
|
+
"dark": "darkCyan",
|
|
52
|
+
"light": "lightCyan"
|
|
53
|
+
},
|
|
54
|
+
"error": {
|
|
55
|
+
"dark": "darkRed",
|
|
56
|
+
"light": "lightRed"
|
|
57
|
+
},
|
|
58
|
+
"warning": {
|
|
59
|
+
"dark": "darkYellow",
|
|
60
|
+
"light": "lightYellow"
|
|
61
|
+
},
|
|
62
|
+
"success": {
|
|
63
|
+
"dark": "darkGreen",
|
|
64
|
+
"light": "lightGreen"
|
|
65
|
+
},
|
|
66
|
+
"info": {
|
|
67
|
+
"dark": "darkOrange",
|
|
68
|
+
"light": "lightOrange"
|
|
69
|
+
},
|
|
70
|
+
"text": {
|
|
71
|
+
"dark": "darkFg",
|
|
72
|
+
"light": "lightFg"
|
|
73
|
+
},
|
|
74
|
+
"textMuted": {
|
|
75
|
+
"dark": "darkFgMuted",
|
|
76
|
+
"light": "lightFgMuted"
|
|
77
|
+
},
|
|
78
|
+
"background": {
|
|
79
|
+
"dark": "darkBg",
|
|
80
|
+
"light": "lightBg"
|
|
81
|
+
},
|
|
82
|
+
"backgroundPanel": {
|
|
83
|
+
"dark": "darkBg",
|
|
84
|
+
"light": "lightBgAlt"
|
|
85
|
+
},
|
|
86
|
+
"backgroundElement": {
|
|
87
|
+
"dark": "darkBgPanel",
|
|
88
|
+
"light": "lightBgPanel"
|
|
89
|
+
},
|
|
90
|
+
"border": {
|
|
91
|
+
"dark": "darkBorderSubtle",
|
|
92
|
+
"light": "#d0d7de"
|
|
93
|
+
},
|
|
94
|
+
"borderActive": {
|
|
95
|
+
"dark": "darkConstant",
|
|
96
|
+
"light": "lightConstant"
|
|
97
|
+
},
|
|
98
|
+
"borderSubtle": {
|
|
99
|
+
"dark": "#161b22",
|
|
100
|
+
"light": "#d8dee4"
|
|
101
|
+
},
|
|
102
|
+
"diffAdded": {
|
|
103
|
+
"dark": "darkTag",
|
|
104
|
+
"light": "lightTag"
|
|
105
|
+
},
|
|
106
|
+
"diffRemoved": {
|
|
107
|
+
"dark": "#ffa198",
|
|
108
|
+
"light": "lightRed"
|
|
109
|
+
},
|
|
110
|
+
"diffContext": {
|
|
111
|
+
"dark": "darkFgMuted",
|
|
112
|
+
"light": "lightFgMuted"
|
|
113
|
+
},
|
|
114
|
+
"diffHunkHeader": {
|
|
115
|
+
"dark": "darkFunction",
|
|
116
|
+
"light": "lightFunction"
|
|
117
|
+
},
|
|
118
|
+
"diffHighlightAdded": {
|
|
119
|
+
"dark": "darkTag",
|
|
120
|
+
"light": "lightTag"
|
|
121
|
+
},
|
|
122
|
+
"diffHighlightRemoved": {
|
|
123
|
+
"dark": "#ffa198",
|
|
124
|
+
"light": "lightRed"
|
|
125
|
+
},
|
|
126
|
+
"diffAddedBg": {
|
|
127
|
+
"dark": "#080f0b",
|
|
128
|
+
"light": "#f0fff4"
|
|
129
|
+
},
|
|
130
|
+
"diffRemovedBg": {
|
|
131
|
+
"dark": "#120a0a",
|
|
132
|
+
"light": "#fff7f6"
|
|
133
|
+
},
|
|
134
|
+
"diffContextBg": {
|
|
135
|
+
"dark": "darkBg",
|
|
136
|
+
"light": "lightBgAlt"
|
|
137
|
+
},
|
|
138
|
+
"diffLineNumber": {
|
|
139
|
+
"dark": "#6e7681",
|
|
140
|
+
"light": "#afb8c1"
|
|
141
|
+
},
|
|
142
|
+
"diffAddedLineNumberBg": {
|
|
143
|
+
"dark": "#0c1c10",
|
|
144
|
+
"light": "#e4f9e9"
|
|
145
|
+
},
|
|
146
|
+
"diffRemovedLineNumberBg": {
|
|
147
|
+
"dark": "#1c0d0e",
|
|
148
|
+
"light": "#ffe8e6"
|
|
149
|
+
},
|
|
150
|
+
"markdownText": {
|
|
151
|
+
"dark": "darkFg",
|
|
152
|
+
"light": "lightFg"
|
|
153
|
+
},
|
|
154
|
+
"markdownHeading": {
|
|
155
|
+
"dark": "darkConstant",
|
|
156
|
+
"light": "lightConstant"
|
|
157
|
+
},
|
|
158
|
+
"markdownLink": {
|
|
159
|
+
"dark": "darkString",
|
|
160
|
+
"light": "lightString"
|
|
161
|
+
},
|
|
162
|
+
"markdownLinkText": {
|
|
163
|
+
"dark": "darkCyan",
|
|
164
|
+
"light": "lightCyan"
|
|
165
|
+
},
|
|
166
|
+
"markdownCode": {
|
|
167
|
+
"dark": "darkConstant",
|
|
168
|
+
"light": "lightConstant"
|
|
169
|
+
},
|
|
170
|
+
"markdownBlockQuote": {
|
|
171
|
+
"dark": "darkTag",
|
|
172
|
+
"light": "lightTag"
|
|
173
|
+
},
|
|
174
|
+
"markdownEmph": {
|
|
175
|
+
"dark": "darkFg",
|
|
176
|
+
"light": "lightFg"
|
|
177
|
+
},
|
|
178
|
+
"markdownStrong": {
|
|
179
|
+
"dark": "darkFg",
|
|
180
|
+
"light": "lightFg"
|
|
181
|
+
},
|
|
182
|
+
"markdownHorizontalRule": {
|
|
183
|
+
"dark": "darkBorder",
|
|
184
|
+
"light": "#d0d7de"
|
|
185
|
+
},
|
|
186
|
+
"markdownListItem": {
|
|
187
|
+
"dark": "darkVariable",
|
|
188
|
+
"light": "lightVariable"
|
|
189
|
+
},
|
|
190
|
+
"markdownListEnumeration": {
|
|
191
|
+
"dark": "darkVariable",
|
|
192
|
+
"light": "lightVariable"
|
|
193
|
+
},
|
|
194
|
+
"markdownImage": {
|
|
195
|
+
"dark": "darkString",
|
|
196
|
+
"light": "lightString"
|
|
197
|
+
},
|
|
198
|
+
"markdownImageText": {
|
|
199
|
+
"dark": "darkCyan",
|
|
200
|
+
"light": "lightCyan"
|
|
201
|
+
},
|
|
202
|
+
"markdownCodeBlock": {
|
|
203
|
+
"dark": "darkFg",
|
|
204
|
+
"light": "lightFg"
|
|
205
|
+
},
|
|
206
|
+
"syntaxComment": {
|
|
207
|
+
"dark": "darkFgMuted",
|
|
208
|
+
"light": "lightFgMuted"
|
|
209
|
+
},
|
|
210
|
+
"syntaxKeyword": {
|
|
211
|
+
"dark": "darkKeyword",
|
|
212
|
+
"light": "lightKeyword"
|
|
213
|
+
},
|
|
214
|
+
"syntaxFunction": {
|
|
215
|
+
"dark": "darkFunction",
|
|
216
|
+
"light": "lightFunction"
|
|
217
|
+
},
|
|
218
|
+
"syntaxVariable": {
|
|
219
|
+
"dark": "darkVariable",
|
|
220
|
+
"light": "lightVariable"
|
|
221
|
+
},
|
|
222
|
+
"syntaxString": {
|
|
223
|
+
"dark": "darkString",
|
|
224
|
+
"light": "lightString"
|
|
225
|
+
},
|
|
226
|
+
"syntaxNumber": {
|
|
227
|
+
"dark": "darkConstant",
|
|
228
|
+
"light": "lightConstant"
|
|
229
|
+
},
|
|
230
|
+
"syntaxType": {
|
|
231
|
+
"dark": "darkVariable",
|
|
232
|
+
"light": "lightVariable"
|
|
233
|
+
},
|
|
234
|
+
"syntaxOperator": {
|
|
235
|
+
"dark": "darkKeyword",
|
|
236
|
+
"light": "lightKeyword"
|
|
237
|
+
},
|
|
238
|
+
"syntaxPunctuation": {
|
|
239
|
+
"dark": "darkFg",
|
|
240
|
+
"light": "lightFg"
|
|
241
|
+
},
|
|
242
|
+
"conceal": {
|
|
243
|
+
"dark": "darkConceal",
|
|
244
|
+
"light": "lightConceal"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
package/dist/themes.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { RGBA } from "@opentuah/core";
|
|
2
|
+
export interface ResolvedTheme {
|
|
3
|
+
primary: RGBA;
|
|
4
|
+
success: RGBA;
|
|
5
|
+
error: RGBA;
|
|
6
|
+
warning: RGBA;
|
|
7
|
+
info: RGBA;
|
|
8
|
+
syntaxComment: RGBA;
|
|
9
|
+
syntaxKeyword: RGBA;
|
|
10
|
+
syntaxFunction: RGBA;
|
|
11
|
+
syntaxVariable: RGBA;
|
|
12
|
+
syntaxString: RGBA;
|
|
13
|
+
syntaxNumber: RGBA;
|
|
14
|
+
syntaxType: RGBA;
|
|
15
|
+
syntaxOperator: RGBA;
|
|
16
|
+
syntaxPunctuation: RGBA;
|
|
17
|
+
text: RGBA;
|
|
18
|
+
textMuted: RGBA;
|
|
19
|
+
conceal: RGBA;
|
|
20
|
+
diffAdded: RGBA;
|
|
21
|
+
diffRemoved: RGBA;
|
|
22
|
+
diffAddedBg: RGBA;
|
|
23
|
+
diffRemovedBg: RGBA;
|
|
24
|
+
diffContextBg: RGBA;
|
|
25
|
+
diffAddedLineNumberBg: RGBA;
|
|
26
|
+
diffRemovedLineNumberBg: RGBA;
|
|
27
|
+
diffLineNumber: RGBA;
|
|
28
|
+
background: RGBA;
|
|
29
|
+
backgroundPanel: RGBA;
|
|
30
|
+
markdownText: RGBA;
|
|
31
|
+
markdownHeading: RGBA;
|
|
32
|
+
markdownLink: RGBA;
|
|
33
|
+
markdownLinkText: RGBA;
|
|
34
|
+
markdownCode: RGBA;
|
|
35
|
+
markdownBlockQuote: RGBA;
|
|
36
|
+
markdownEmph: RGBA;
|
|
37
|
+
markdownStrong: RGBA;
|
|
38
|
+
markdownHorizontalRule: RGBA;
|
|
39
|
+
markdownListItem: RGBA;
|
|
40
|
+
markdownListEnumeration: RGBA;
|
|
41
|
+
markdownImage: RGBA;
|
|
42
|
+
markdownImageText: RGBA;
|
|
43
|
+
markdownCodeBlock: RGBA;
|
|
44
|
+
}
|
|
45
|
+
export interface SyntaxThemeStyle {
|
|
46
|
+
fg: RGBA;
|
|
47
|
+
bold?: boolean;
|
|
48
|
+
italic?: boolean;
|
|
49
|
+
underline?: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface SyntaxTheme {
|
|
52
|
+
[key: string]: SyntaxThemeStyle;
|
|
53
|
+
}
|
|
54
|
+
export declare function getResolvedTheme(name: string, mode?: "dark" | "light"): ResolvedTheme;
|
|
55
|
+
export declare function getSyntaxTheme(name: string, mode?: "dark" | "light", italicsEnabled?: boolean): SyntaxTheme;
|
|
56
|
+
export declare const themeNames: string[];
|
|
57
|
+
export declare const defaultThemeName = "github";
|
|
58
|
+
export declare function rgbaToHex(rgba: RGBA): string;
|
|
59
|
+
//# sourceMappingURL=themes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAsBlD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,IAAI,CAAC;IAEd,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IAEX,aAAa,EAAE,IAAI,CAAC;IACpB,aAAa,EAAE,IAAI,CAAC;IACpB,cAAc,EAAE,IAAI,CAAC;IACrB,cAAc,EAAE,IAAI,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,cAAc,EAAE,IAAI,CAAC;IACrB,iBAAiB,EAAE,IAAI,CAAC;IAExB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IAEd,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;IAElB,WAAW,EAAE,IAAI,CAAC;IAClB,aAAa,EAAE,IAAI,CAAC;IACpB,aAAa,EAAE,IAAI,CAAC;IACpB,qBAAqB,EAAE,IAAI,CAAC;IAC5B,uBAAuB,EAAE,IAAI,CAAC;IAC9B,cAAc,EAAE,IAAI,CAAC;IAErB,UAAU,EAAE,IAAI,CAAC;IACjB,eAAe,EAAE,IAAI,CAAC;IAEtB,YAAY,EAAE,IAAI,CAAC;IACnB,eAAe,EAAE,IAAI,CAAC;IACtB,YAAY,EAAE,IAAI,CAAC;IACnB,gBAAgB,EAAE,IAAI,CAAC;IACvB,YAAY,EAAE,IAAI,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC;IACrB,sBAAsB,EAAE,IAAI,CAAC;IAC7B,gBAAgB,EAAE,IAAI,CAAC;IACvB,uBAAuB,EAAE,IAAI,CAAC;IAC9B,aAAa,EAAE,IAAI,CAAC;IACpB,iBAAiB,EAAE,IAAI,CAAC;IACxB,iBAAiB,EAAE,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC;AAgKD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,OAAgB,GAC9B,aAAa,CAGf;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,OAAgB,EAC/B,cAAc,GAAE,OAAc,GAC7B,WAAW,CA6Eb;AAED,eAAO,MAAM,UAAU,UAAkC,CAAC;AAE1D,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAGzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAW5C"}
|
package/dist/themes.js
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
// Syntax highlighting theme system with 30+ themes from OpenCode.
|
|
2
|
+
// Loads JSON theme files lazily on demand, resolves color references,
|
|
3
|
+
// and provides both UI colors and Tree-sitter compatible syntax styles.
|
|
4
|
+
import { parseColor, RGBA } from "@opentuah/core";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { fileURLToPath } from "url";
|
|
7
|
+
// Only import the default theme statically for fast startup
|
|
8
|
+
// Other themes are loaded on-demand when selected
|
|
9
|
+
import github from "./themes/github.json";
|
|
10
|
+
// Theme name to file mapping for lazy loading
|
|
11
|
+
const THEME_FILES = {
|
|
12
|
+
aura: "aura.json",
|
|
13
|
+
ayu: "ayu.json",
|
|
14
|
+
catppuccin: "catppuccin.json",
|
|
15
|
+
"catppuccin-frappe": "catppuccin-frappe.json",
|
|
16
|
+
"catppuccin-macchiato": "catppuccin-macchiato.json",
|
|
17
|
+
cobalt2: "cobalt2.json",
|
|
18
|
+
cursor: "cursor.json",
|
|
19
|
+
dracula: "dracula.json",
|
|
20
|
+
everforest: "everforest.json",
|
|
21
|
+
flexoki: "flexoki.json",
|
|
22
|
+
github: "github.json",
|
|
23
|
+
"github-light": "github-light.json",
|
|
24
|
+
gruvbox: "gruvbox.json",
|
|
25
|
+
kanagawa: "kanagawa.json",
|
|
26
|
+
"lucent-orng": "lucent-orng.json",
|
|
27
|
+
material: "material.json",
|
|
28
|
+
matrix: "matrix.json",
|
|
29
|
+
mercury: "mercury.json",
|
|
30
|
+
"muted-slate": "muted-slate.json",
|
|
31
|
+
monokai: "monokai.json",
|
|
32
|
+
nightowl: "nightowl.json",
|
|
33
|
+
nord: "nord.json",
|
|
34
|
+
"one-dark": "one-dark.json",
|
|
35
|
+
opencode: "opencode.json",
|
|
36
|
+
"opencode-light": "opencode-light.json",
|
|
37
|
+
orng: "orng.json",
|
|
38
|
+
palenight: "palenight.json",
|
|
39
|
+
rosepine: "rosepine.json",
|
|
40
|
+
solarized: "solarized.json",
|
|
41
|
+
synthwave84: "synthwave84.json",
|
|
42
|
+
tokyonight: "tokyonight.json",
|
|
43
|
+
vercel: "vercel.json",
|
|
44
|
+
vesper: "vesper.json",
|
|
45
|
+
zenburn: "zenburn.json",
|
|
46
|
+
};
|
|
47
|
+
// Cache for loaded themes
|
|
48
|
+
const themeCache = {
|
|
49
|
+
github, // Pre-loaded default theme
|
|
50
|
+
};
|
|
51
|
+
// Synchronously load a theme (themes are small JSON files)
|
|
52
|
+
function loadTheme(name) {
|
|
53
|
+
if (themeCache[name]) {
|
|
54
|
+
return themeCache[name];
|
|
55
|
+
}
|
|
56
|
+
const fileName = THEME_FILES[name];
|
|
57
|
+
if (!fileName) {
|
|
58
|
+
return github; // Fallback to default
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
// Resolve to src/themes/ — when built, import.meta.url is dist/, so ../src/ gets back to source
|
|
62
|
+
const srcDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../src");
|
|
63
|
+
const themePath = path.resolve(srcDir, "themes", fileName);
|
|
64
|
+
const fs = require("fs");
|
|
65
|
+
const content = fs.readFileSync(themePath, "utf-8");
|
|
66
|
+
const themeJson = JSON.parse(content);
|
|
67
|
+
themeCache[name] = themeJson;
|
|
68
|
+
return themeJson;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return github; // Fallback to default
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function resolveTheme(themeJson, mode) {
|
|
75
|
+
const defs = themeJson.defs ?? {};
|
|
76
|
+
function resolveColor(c) {
|
|
77
|
+
if (typeof c === "string") {
|
|
78
|
+
if (c === "transparent" || c === "none")
|
|
79
|
+
return RGBA.fromInts(0, 0, 0, 0);
|
|
80
|
+
if (c.startsWith("#"))
|
|
81
|
+
return parseColor(c);
|
|
82
|
+
// Reference to defs
|
|
83
|
+
if (defs[c] != null) {
|
|
84
|
+
return resolveColor(defs[c]);
|
|
85
|
+
}
|
|
86
|
+
// Reference to another theme property
|
|
87
|
+
if (themeJson.theme[c] !== undefined) {
|
|
88
|
+
return resolveColor(themeJson.theme[c]);
|
|
89
|
+
}
|
|
90
|
+
// Fallback
|
|
91
|
+
return RGBA.fromInts(128, 128, 128, 255);
|
|
92
|
+
}
|
|
93
|
+
// Variant with dark/light
|
|
94
|
+
return resolveColor(c[mode]);
|
|
95
|
+
}
|
|
96
|
+
const t = themeJson.theme;
|
|
97
|
+
const fallbackGray = "#808080";
|
|
98
|
+
const fallbackBg = "#1e1e1e";
|
|
99
|
+
const fallbackText = "#d4d4d4";
|
|
100
|
+
const text = resolveColor(t.text ?? fallbackText);
|
|
101
|
+
// Fallback colors for status (green, red, yellow, orange)
|
|
102
|
+
const fallbackGreen = "#3fb950";
|
|
103
|
+
const fallbackRed = "#f85149";
|
|
104
|
+
const fallbackYellow = "#e3b341";
|
|
105
|
+
const fallbackOrange = "#d29922";
|
|
106
|
+
return {
|
|
107
|
+
primary: resolveColor(t.primary ?? t.syntaxFunction ?? fallbackGray),
|
|
108
|
+
// Status colors
|
|
109
|
+
success: resolveColor(t.success ?? fallbackGreen),
|
|
110
|
+
error: resolveColor(t.error ?? fallbackRed),
|
|
111
|
+
warning: resolveColor(t.warning ?? fallbackYellow),
|
|
112
|
+
info: resolveColor(t.info ?? fallbackOrange),
|
|
113
|
+
// Syntax colors
|
|
114
|
+
syntaxComment: resolveColor(t.syntaxComment ?? fallbackGray),
|
|
115
|
+
syntaxKeyword: resolveColor(t.syntaxKeyword ?? fallbackGray),
|
|
116
|
+
syntaxFunction: resolveColor(t.syntaxFunction ?? fallbackGray),
|
|
117
|
+
syntaxVariable: resolveColor(t.syntaxVariable ?? fallbackGray),
|
|
118
|
+
syntaxString: resolveColor(t.syntaxString ?? fallbackGray),
|
|
119
|
+
syntaxNumber: resolveColor(t.syntaxNumber ?? fallbackGray),
|
|
120
|
+
syntaxType: resolveColor(t.syntaxType ?? fallbackGray),
|
|
121
|
+
syntaxOperator: resolveColor(t.syntaxOperator ?? fallbackGray),
|
|
122
|
+
syntaxPunctuation: resolveColor(t.syntaxPunctuation ?? fallbackGray),
|
|
123
|
+
text,
|
|
124
|
+
textMuted: resolveColor(t.textMuted ?? fallbackGray),
|
|
125
|
+
conceal: resolveColor(t.conceal ?? t.textMuted ?? fallbackGray),
|
|
126
|
+
// Diff foreground colors
|
|
127
|
+
diffAdded: resolveColor(t.diffAdded ?? t.success ?? fallbackGreen),
|
|
128
|
+
diffRemoved: resolveColor(t.diffRemoved ?? t.error ?? fallbackRed),
|
|
129
|
+
// Diff background colors
|
|
130
|
+
diffAddedBg: resolveColor(t.diffAddedBg ?? "#1e3a1e"),
|
|
131
|
+
diffRemovedBg: resolveColor(t.diffRemovedBg ?? "#3a1e1e"),
|
|
132
|
+
diffContextBg: resolveColor(t.diffContextBg ?? fallbackBg),
|
|
133
|
+
diffAddedLineNumberBg: resolveColor(t.diffAddedLineNumberBg ?? "#1e3a1e"),
|
|
134
|
+
diffRemovedLineNumberBg: resolveColor(t.diffRemovedLineNumberBg ?? "#3a1e1e"),
|
|
135
|
+
diffLineNumber: resolveColor(t.diffLineNumber ?? fallbackGray),
|
|
136
|
+
background: resolveColor(t.background ?? fallbackBg),
|
|
137
|
+
backgroundPanel: resolveColor(t.backgroundPanel ?? fallbackBg),
|
|
138
|
+
// Markdown colors - fallback to text/syntax colors if not defined
|
|
139
|
+
markdownText: resolveColor(t.markdownText ?? t.text ?? fallbackText),
|
|
140
|
+
markdownHeading: resolveColor(t.markdownHeading ?? t.primary ?? fallbackGray),
|
|
141
|
+
markdownLink: resolveColor(t.markdownLink ?? t.syntaxString ?? fallbackGray),
|
|
142
|
+
markdownLinkText: resolveColor(t.markdownLinkText ?? t.primary ?? fallbackGray),
|
|
143
|
+
markdownCode: resolveColor(t.markdownCode ?? t.syntaxString ?? fallbackGray),
|
|
144
|
+
markdownBlockQuote: resolveColor(t.markdownBlockQuote ?? t.syntaxComment ?? fallbackGray),
|
|
145
|
+
markdownEmph: resolveColor(t.markdownEmph ?? t.text ?? fallbackText),
|
|
146
|
+
markdownStrong: resolveColor(t.markdownStrong ?? t.text ?? fallbackText),
|
|
147
|
+
markdownHorizontalRule: resolveColor(t.markdownHorizontalRule ?? fallbackGray),
|
|
148
|
+
markdownListItem: resolveColor(t.markdownListItem ?? t.syntaxKeyword ?? fallbackGray),
|
|
149
|
+
markdownListEnumeration: resolveColor(t.markdownListEnumeration ?? t.syntaxNumber ?? fallbackGray),
|
|
150
|
+
markdownImage: resolveColor(t.markdownImage ?? t.syntaxString ?? fallbackGray),
|
|
151
|
+
markdownImageText: resolveColor(t.markdownImageText ?? t.primary ?? fallbackGray),
|
|
152
|
+
markdownCodeBlock: resolveColor(t.markdownCodeBlock ?? t.text ?? fallbackText),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
export function getResolvedTheme(name, mode = "dark") {
|
|
156
|
+
const themeJson = loadTheme(name);
|
|
157
|
+
return resolveTheme(themeJson, mode);
|
|
158
|
+
}
|
|
159
|
+
export function getSyntaxTheme(name, mode = "dark", italicsEnabled = true) {
|
|
160
|
+
const resolved = getResolvedTheme(name, mode);
|
|
161
|
+
const style = (s) => {
|
|
162
|
+
if (italicsEnabled)
|
|
163
|
+
return s;
|
|
164
|
+
const { italic, ...rest } = s;
|
|
165
|
+
return rest;
|
|
166
|
+
};
|
|
167
|
+
return {
|
|
168
|
+
// Default text style
|
|
169
|
+
default: { fg: resolved.text },
|
|
170
|
+
// Code syntax styles
|
|
171
|
+
keyword: style({ fg: resolved.syntaxKeyword, italic: true }),
|
|
172
|
+
"keyword.import": { fg: resolved.syntaxKeyword },
|
|
173
|
+
"keyword.return": style({ fg: resolved.syntaxKeyword, italic: true }),
|
|
174
|
+
"keyword.conditional": style({ fg: resolved.syntaxKeyword, italic: true }),
|
|
175
|
+
"keyword.repeat": style({ fg: resolved.syntaxKeyword, italic: true }),
|
|
176
|
+
"keyword.type": style({ fg: resolved.syntaxType, bold: true, italic: true }),
|
|
177
|
+
"keyword.function": { fg: resolved.syntaxFunction },
|
|
178
|
+
"keyword.operator": { fg: resolved.syntaxOperator },
|
|
179
|
+
"keyword.modifier": style({ fg: resolved.syntaxKeyword, italic: true }),
|
|
180
|
+
"keyword.exception": style({ fg: resolved.syntaxKeyword, italic: true }),
|
|
181
|
+
string: { fg: resolved.syntaxString },
|
|
182
|
+
symbol: { fg: resolved.syntaxString },
|
|
183
|
+
comment: style({ fg: resolved.syntaxComment, italic: true }),
|
|
184
|
+
"comment.documentation": style({ fg: resolved.syntaxComment, italic: true }),
|
|
185
|
+
number: { fg: resolved.syntaxNumber },
|
|
186
|
+
boolean: { fg: resolved.syntaxNumber },
|
|
187
|
+
constant: { fg: resolved.syntaxNumber },
|
|
188
|
+
function: { fg: resolved.syntaxFunction },
|
|
189
|
+
"function.call": { fg: resolved.syntaxFunction },
|
|
190
|
+
"function.method": { fg: resolved.syntaxFunction },
|
|
191
|
+
"function.method.call": { fg: resolved.syntaxVariable },
|
|
192
|
+
constructor: { fg: resolved.syntaxFunction },
|
|
193
|
+
type: { fg: resolved.syntaxType },
|
|
194
|
+
module: { fg: resolved.syntaxType },
|
|
195
|
+
class: { fg: resolved.syntaxType },
|
|
196
|
+
operator: { fg: resolved.syntaxOperator },
|
|
197
|
+
variable: { fg: resolved.syntaxVariable },
|
|
198
|
+
"variable.parameter": { fg: resolved.syntaxVariable },
|
|
199
|
+
"variable.member": { fg: resolved.syntaxFunction },
|
|
200
|
+
property: { fg: resolved.syntaxVariable },
|
|
201
|
+
parameter: { fg: resolved.syntaxVariable },
|
|
202
|
+
bracket: { fg: resolved.syntaxPunctuation },
|
|
203
|
+
punctuation: { fg: resolved.syntaxPunctuation },
|
|
204
|
+
"punctuation.bracket": { fg: resolved.syntaxPunctuation },
|
|
205
|
+
"punctuation.delimiter": { fg: resolved.syntaxOperator },
|
|
206
|
+
"punctuation.special": { fg: resolved.syntaxOperator },
|
|
207
|
+
// Markdown styles - these are the Tree-sitter scope names for markdown
|
|
208
|
+
"markup.heading": { fg: resolved.markdownHeading, bold: true },
|
|
209
|
+
"markup.heading.1": { fg: resolved.markdownHeading, bold: true },
|
|
210
|
+
"markup.heading.2": { fg: resolved.markdownHeading, bold: true },
|
|
211
|
+
"markup.heading.3": { fg: resolved.markdownHeading, bold: true },
|
|
212
|
+
"markup.heading.4": { fg: resolved.markdownHeading, bold: true },
|
|
213
|
+
"markup.heading.5": { fg: resolved.markdownHeading, bold: true },
|
|
214
|
+
"markup.heading.6": { fg: resolved.markdownHeading, bold: true },
|
|
215
|
+
"markup.bold": { fg: resolved.markdownStrong, bold: true },
|
|
216
|
+
"markup.strong": { fg: resolved.markdownStrong, bold: true },
|
|
217
|
+
"markup.italic": style({ fg: resolved.markdownEmph, italic: true }),
|
|
218
|
+
"markup.list": { fg: resolved.markdownListItem },
|
|
219
|
+
"markup.quote": style({ fg: resolved.markdownBlockQuote, italic: true }),
|
|
220
|
+
"markup.raw": { fg: resolved.markdownCode },
|
|
221
|
+
"markup.raw.block": { fg: resolved.markdownCode },
|
|
222
|
+
"markup.raw.inline": { fg: resolved.markdownCode },
|
|
223
|
+
"markup.link": { fg: resolved.markdownLink, underline: true },
|
|
224
|
+
"markup.link.label": { fg: resolved.markdownLinkText, underline: true },
|
|
225
|
+
"markup.link.url": { fg: resolved.markdownLink, underline: true },
|
|
226
|
+
label: { fg: resolved.markdownLinkText },
|
|
227
|
+
spell: { fg: resolved.text },
|
|
228
|
+
nospell: { fg: resolved.text },
|
|
229
|
+
conceal: { fg: resolved.conceal || resolved.textMuted },
|
|
230
|
+
"string.special": { fg: resolved.markdownLink, underline: true },
|
|
231
|
+
"string.special.url": { fg: resolved.markdownLink, underline: true },
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
export const themeNames = Object.keys(THEME_FILES).sort();
|
|
235
|
+
export const defaultThemeName = "github";
|
|
236
|
+
// Helper to convert RGBA to hex string
|
|
237
|
+
export function rgbaToHex(rgba) {
|
|
238
|
+
const r = Math.round(rgba.r * 255)
|
|
239
|
+
.toString(16)
|
|
240
|
+
.padStart(2, "0");
|
|
241
|
+
const g = Math.round(rgba.g * 255)
|
|
242
|
+
.toString(16)
|
|
243
|
+
.padStart(2, "0");
|
|
244
|
+
const b = Math.round(rgba.b * 255)
|
|
245
|
+
.toString(16)
|
|
246
|
+
.padStart(2, "0");
|
|
247
|
+
return `#${r}${g}${b}`;
|
|
248
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-icons.d.ts","sourceRoot":"","sources":["../src/tree-icons.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,iBAAO,CAAA;AACtC,eAAO,MAAM,gBAAgB,iBAAO,CAAA;AAapC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Tree icon utilities for sidebar file/folder nerd font icons
|
|
2
|
+
// Structured for easy future fallback to ASCII icons
|
|
3
|
+
export const FOLDER_ICON_CLOSED = "";
|
|
4
|
+
export const FOLDER_ICON_OPEN = "";
|
|
5
|
+
const extensionToIcon = {
|
|
6
|
+
ts: "",
|
|
7
|
+
tsx: "",
|
|
8
|
+
js: "",
|
|
9
|
+
jsx: "",
|
|
10
|
+
json: "",
|
|
11
|
+
md: "",
|
|
12
|
+
css: "",
|
|
13
|
+
html: "",
|
|
14
|
+
};
|
|
15
|
+
export function getFileIcon(path) {
|
|
16
|
+
const ext = path.split(".").pop()?.toLowerCase();
|
|
17
|
+
return ext ? (extensionToIcon[ext] ?? "") : "";
|
|
18
|
+
}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAWlC"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// General utility functions used across the application.
|
|
2
|
+
// Currently provides debounce for rate-limiting file watcher callbacks.
|
|
3
|
+
export function debounce(fn, delay) {
|
|
4
|
+
let timeoutId;
|
|
5
|
+
return (...args) => {
|
|
6
|
+
if (timeoutId) {
|
|
7
|
+
clearTimeout(timeoutId);
|
|
8
|
+
}
|
|
9
|
+
timeoutId = setTimeout(() => {
|
|
10
|
+
fn(...args);
|
|
11
|
+
}, delay);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { CapturedFrame, CapturedLine } from "@opentuah/core";
|
|
2
|
+
export interface CaptureOptions {
|
|
3
|
+
cols: number;
|
|
4
|
+
maxRows: number;
|
|
5
|
+
themeName: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
/** Wrap mode for long lines (default: "word") */
|
|
8
|
+
wrapMode?: "word" | "char" | "none";
|
|
9
|
+
/** Force split or unified view mode, bypassing auto-detection */
|
|
10
|
+
viewMode?: "split" | "unified";
|
|
11
|
+
/** Show privacy/expiry notice block at top (default: false, enabled for web uploads) */
|
|
12
|
+
showNotice?: boolean;
|
|
13
|
+
/** How long to wait for async rendering (tree-sitter) to stabilize.
|
|
14
|
+
* Default: 500ms for interactive TUI, use 100ms for batch/web mode. */
|
|
15
|
+
stabilizeMs?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function renderDiffToFrame(diffContent: string, options: CaptureOptions): Promise<CapturedFrame>;
|
|
18
|
+
/**
|
|
19
|
+
* Convert a file path to a URL-safe anchor slug.
|
|
20
|
+
* e.g. "src/components/foo-bar.tsx" → "src-components-foo-bar-tsx"
|
|
21
|
+
*/
|
|
22
|
+
export declare function slugifyFileName(name: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Extract line numbers from a captured diff line's spans.
|
|
25
|
+
* In split view each row has two line number columns (old + new):
|
|
26
|
+
* " " "29" " - " ...content... " " "29" " + " ...content...
|
|
27
|
+
* In unified view there's only one.
|
|
28
|
+
*
|
|
29
|
+
* Returns the new-file (right) line number when available,
|
|
30
|
+
* falling back to the old-file (left) number for deleted-only rows.
|
|
31
|
+
* Returns null for non-diff lines (headers, hunk markers, etc.).
|
|
32
|
+
*/
|
|
33
|
+
export declare function extractLineNumber(line: CapturedLine): string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Match a rendered tree file row and extract the file path label.
|
|
36
|
+
* Examples:
|
|
37
|
+
* "│ ├── index.ts (+5,-2)"
|
|
38
|
+
* "└── README.md (-15)"
|
|
39
|
+
*/
|
|
40
|
+
export declare function extractTreeFilePath(lineText: string): string | null;
|
|
41
|
+
/**
|
|
42
|
+
* Build line-indexed anchors from file section layout positions.
|
|
43
|
+
* This avoids regex detection on rendered text, which can produce
|
|
44
|
+
* false positives when code lines mimic file-header patterns.
|
|
45
|
+
*/
|
|
46
|
+
export declare function buildAnchorMap(sections: Array<{
|
|
47
|
+
lineIndex: number;
|
|
48
|
+
fileName: string;
|
|
49
|
+
}>): Map<number, {
|
|
50
|
+
id: string;
|
|
51
|
+
label: string;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Capture diff and convert to HTML using test renderer
|
|
55
|
+
*/
|
|
56
|
+
//# sourceMappingURL=web-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-utils.d.ts","sourceRoot":"","sources":["../src/web-utils.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,aAAa,EAAE,YAAY,EAA+B,MAAM,gBAAgB,CAAA;AAG7G,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IACnC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;4EACwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA2UD,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAGxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpD;AAYD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAwBnE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAInE;AAUD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACvD,GAAG,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5C;AAiCD;;GAEG"}
|