@vscode/markdown-editor 0.0.2-9 → 0.0.2-91

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 (75) hide show
  1. package/README.md +31 -0
  2. package/dist/commands.d.ts +65 -0
  3. package/dist/commands.js +159 -0
  4. package/dist/commands.js.map +1 -0
  5. package/dist/config-BGeaJqWk.js +286 -0
  6. package/dist/config-BGeaJqWk.js.map +1 -0
  7. package/dist/config.d.ts +10 -0
  8. package/dist/config.js +6 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/index.d.ts +1567 -127
  11. package/dist/index.js +6168 -2077
  12. package/dist/index.js.map +1 -1
  13. package/dist/markdown-editor.css +1 -0
  14. package/dist/stringEdit-CVDbCUBY.js +215 -0
  15. package/dist/stringEdit-CVDbCUBY.js.map +1 -0
  16. package/dist/web-editors.d.ts +297 -0
  17. package/dist/web-editors.js +7359 -0
  18. package/dist/web-editors.js.map +1 -0
  19. package/package.json +54 -16
  20. package/src/contrib/comments/commentInput.css +89 -0
  21. package/src/contrib/comments/commentWidget.css +60 -0
  22. package/src/contrib/find/find.css +347 -0
  23. package/src/view/editor.css +1157 -31
  24. package/src/view/themes/default.css +13 -4
  25. package/src/view/themes/github.css +16 -13
  26. package/src/view/themes/vscode-default.css +397 -0
  27. package/src/view/themes/{vscode.css → vscode-github.css} +124 -62
  28. package/dist/_observables/assert.d.ts +0 -2
  29. package/dist/_observables/deps.d.ts +0 -28
  30. package/dist/_observables/disposables.d.ts +0 -19
  31. package/dist/_observables/equals.d.ts +0 -32
  32. package/dist/_observables/index.d.ts +0 -2
  33. package/dist/_observables/observableInternal/base.d.ts +0 -172
  34. package/dist/_observables/observableInternal/changeTracker.d.ts +0 -44
  35. package/dist/_observables/observableInternal/commonFacade/cancellation.d.ts +0 -24
  36. package/dist/_observables/observableInternal/commonFacade/deps.d.ts +0 -24
  37. package/dist/_observables/observableInternal/debugLocation.d.ts +0 -21
  38. package/dist/_observables/observableInternal/debugName.d.ts +0 -33
  39. package/dist/_observables/observableInternal/experimental/deferUnobserve.d.ts +0 -16
  40. package/dist/_observables/observableInternal/experimental/reducer.d.ts +0 -37
  41. package/dist/_observables/observableInternal/experimental/utils.d.ts +0 -15
  42. package/dist/_observables/observableInternal/index.d.ts +0 -25
  43. package/dist/_observables/observableInternal/logging/consoleObservableLogger.d.ts +0 -40
  44. package/dist/_observables/observableInternal/logging/debugGetDependencyGraph.d.ts +0 -4
  45. package/dist/_observables/observableInternal/logging/debugger/debuggerRpc.d.ts +0 -4
  46. package/dist/_observables/observableInternal/logging/debugger/devToolsLogger.d.ts +0 -43
  47. package/dist/_observables/observableInternal/logging/debugger/rpc.d.ts +0 -41
  48. package/dist/_observables/observableInternal/logging/debugger/utils.d.ts +0 -13
  49. package/dist/_observables/observableInternal/logging/logging.d.ts +0 -30
  50. package/dist/_observables/observableInternal/map.d.ts +0 -18
  51. package/dist/_observables/observableInternal/observables/baseObservable.d.ts +0 -58
  52. package/dist/_observables/observableInternal/observables/constObservable.d.ts +0 -5
  53. package/dist/_observables/observableInternal/observables/derived.d.ts +0 -46
  54. package/dist/_observables/observableInternal/observables/derivedImpl.d.ts +0 -83
  55. package/dist/_observables/observableInternal/observables/lazyObservableValue.d.ts +0 -27
  56. package/dist/_observables/observableInternal/observables/observableFromEvent.d.ts +0 -37
  57. package/dist/_observables/observableInternal/observables/observableSignal.d.ts +0 -11
  58. package/dist/_observables/observableInternal/observables/observableSignalFromEvent.d.ts +0 -5
  59. package/dist/_observables/observableInternal/observables/observableValue.d.ts +0 -37
  60. package/dist/_observables/observableInternal/observables/observableValueOpts.d.ts +0 -8
  61. package/dist/_observables/observableInternal/reactions/autorun.d.ts +0 -56
  62. package/dist/_observables/observableInternal/reactions/autorunImpl.d.ts +0 -53
  63. package/dist/_observables/observableInternal/set.d.ts +0 -17
  64. package/dist/_observables/observableInternal/transaction.d.ts +0 -27
  65. package/dist/_observables/observableInternal/utils/promise.d.ts +0 -75
  66. package/dist/_observables/observableInternal/utils/runOnChange.d.ts +0 -7
  67. package/dist/_observables/observableInternal/utils/utils.d.ts +0 -43
  68. package/dist/_observables/observableInternal/utils/utilsCancellation.d.ts +0 -10
  69. package/dist/_observables/observableInternal/utils/valueWithChangeEvent.d.ts +0 -10
  70. package/dist/_observables/utils.d.ts +0 -15
  71. package/dist/observables.d.ts +0 -4
  72. package/dist/observables.js +0 -439
  73. package/dist/observables.js.map +0 -1
  74. package/dist/runOnChange-C00UIwqQ.js +0 -1538
  75. package/dist/runOnChange-C00UIwqQ.js.map +0 -1
@@ -1,5 +1,13 @@
1
1
  /*
2
- * VS Code markdown theme.
2
+ * VS Code markdown theme — GitHub layout variant (`md-theme-vscode-github`).
3
+ *
4
+ * One of two `--vscode-*`-variable-driven themes. This variant keeps the
5
+ * GitHub-style layout/typography (larger 16px base, 1.5 line-height, badge-
6
+ * style inline code, zebra tables); the sibling `vscode-default.css`
7
+ * (`md-theme-vscode-default`) mirrors VS Code's own markdown *preview*
8
+ * (`markdown-language-features/media/markdown.css`: 14px base, code blocks with
9
+ * a 1px border, 5px blockquote rule). Both consume the same `--vscode-*`
10
+ * variables and `--md-tok-*` token palette, so only layout/typography differs.
3
11
  *
4
12
  * A *variable-driven* theme: every color is expressed as `var(--vscode-*, …)`
5
13
  * so the editor adopts whatever VS Code color theme is active (dark, light,
@@ -9,7 +17,7 @@
9
17
  *
10
18
  * Apply it via the editor `classNames` option:
11
19
  *
12
- * new EditorView(model, { classNames: ['md-theme-vscode'] });
20
+ * new EditorView(model, { classNames: ['md-theme-vscode-github'] });
13
21
  *
14
22
  * In a real webview VS Code injects the `--vscode-*` custom properties onto
15
23
  * the document root and sets a body theme class, so this theme just works. In
@@ -31,7 +39,7 @@
31
39
  * Component Explorer supplies a matching `--md-tok-*` palette per color theme.
32
40
  */
33
41
 
34
- .md-editor.md-theme-vscode {
42
+ .md-editor.md-theme-vscode-github {
35
43
  font-family: var(--markdown-font-family, -apple-system, BlinkMacSystemFont,
36
44
  'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif);
37
45
  font-size: var(--markdown-font-size, 16px);
@@ -50,65 +58,111 @@
50
58
  * stays visible on dark color themes.
51
59
  */
52
60
  --md-cursor-background: var(--vscode-editorCursor-foreground, #000);
53
- }
54
-
55
- .md-theme-vscode .md-heading {
61
+ --md-html-comment-foreground: var(--vscode-descriptionForeground, #59636e);
62
+ --md-html-comment-hover-foreground: var(--vscode-editor-foreground, #1f2328);
63
+ --md-html-comment-font-family: var(--vscode-editor-font-family, ui-monospace, SFMono-Regular,
64
+ 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace);
65
+ --md-readonly-background: var(--vscode-button-secondaryBackground,
66
+ var(--vscode-editorWidget-background, #f3f3f3));
67
+ --md-readonly-background-hover: var(--vscode-button-secondaryHoverBackground,
68
+ var(--vscode-button-secondaryBackground,
69
+ var(--vscode-editorWidget-background, #e9e9e9)));
70
+ --md-readonly-foreground: var(--vscode-button-secondaryForeground,
71
+ var(--vscode-editorWidget-foreground, #444));
72
+ --md-readonly-border: var(--vscode-button-secondaryBorder,
73
+ var(--vscode-button-border,
74
+ var(--vscode-contrastBorder, var(--vscode-editorWidget-border, #b8b8b8))));
75
+ --md-readonly-border-hover: var(--vscode-button-secondaryBorder,
76
+ var(--vscode-button-border,
77
+ var(--vscode-contrastBorder, var(--vscode-editorWidget-border, #8d8d8d))));
78
+ --md-readonly-accent: var(--vscode-button-background, rgb(45, 92, 180));
79
+ --md-readonly-accent-foreground: var(--vscode-button-foreground, #fff);
80
+ --md-inline-code-background: color-mix(in srgb,
81
+ var(--vscode-textPreformat-background, #818b981f) 60%, transparent);
82
+ --md-find-widget-background: var(--vscode-editorWidget-background, #f3f3f3);
83
+ --md-find-widget-foreground: var(--vscode-editorWidget-foreground, #222);
84
+ --md-find-widget-border: var(--vscode-editorWidget-border, #c8c8c8);
85
+ --md-find-widget-shadow: var(--vscode-widget-shadow, rgba(0, 0, 0, 0.2));
86
+ --md-find-input-background: var(--vscode-input-background, #fff);
87
+ --md-find-input-foreground: var(--vscode-input-foreground, #222);
88
+ --md-find-placeholder-foreground: var(--vscode-input-placeholderForeground, #767676);
89
+ --md-find-input-caret: var(--vscode-editorCursor-foreground, currentColor);
90
+ --md-find-input-border: var(--vscode-input-border, #cecece);
91
+ --md-find-count-foreground: var(--vscode-editorWidget-foreground, #222);
92
+ --md-find-focus-border: var(--vscode-focusBorder, #007fd4);
93
+ --md-find-button-hover-background: var(--vscode-inputOption-hoverBackground, rgba(128, 128, 128, 0.18));
94
+ --md-find-disabled-foreground: var(--vscode-disabledForeground, rgba(97, 97, 97, 0.5));
95
+ --md-find-editor-background: var(--vscode-editor-background, #ffffff);
96
+ --md-find-match-background: var(--vscode-editor-findMatchHighlightBackground, rgba(234, 92, 0, 0.33));
97
+ --md-find-current-background: var(--vscode-editor-findMatchBackground, #a8ac94);
98
+ --md-find-current-border: var(--vscode-editor-findMatchBorder,
99
+ color-mix(in srgb, var(--vscode-editorWidget-foreground, #616161) 55%,
100
+ var(--vscode-editor-findMatchBackground, #a8ac94)));
101
+ --md-find-option-background: var(--vscode-inputOption-activeBackground, #007acc);
102
+ --md-find-option-border: color-mix(in srgb,
103
+ var(--vscode-focusBorder, #007acc) 70%,
104
+ var(--vscode-inputOption-activeForeground, #000000));
105
+ --md-find-option-foreground: var(--vscode-inputOption-activeForeground, #fff);
106
+ --md-find-error-border: var(--vscode-inputValidation-errorBorder, #be1100);
107
+ --md-find-error-foreground: var(--vscode-errorForeground, #a1260d);
108
+ }
109
+
110
+ .vscode-high-contrast .md-editor.md-theme-vscode-github,
111
+ .vscode-high-contrast-light .md-editor.md-theme-vscode-github {
112
+ --md-inline-code-background: var(--vscode-textPreformat-background, #818b981f);
113
+ }
114
+
115
+ .md-theme-vscode-github .md-heading {
56
116
  margin-top: 24px;
57
117
  margin-bottom: 16px;
58
118
  font-weight: 600;
59
119
  line-height: 1.25;
60
120
  }
61
121
 
62
- .md-theme-vscode h1.md-heading {
122
+ .md-theme-vscode-github h1.md-heading {
63
123
  font-size: 2em;
64
124
  padding-bottom: 0.3em;
65
125
  border-bottom: 1px solid var(--vscode-textSeparator-foreground, #d1d9e0b3);
66
126
  }
67
127
 
68
- .md-theme-vscode h2.md-heading {
128
+ .md-theme-vscode-github h2.md-heading {
69
129
  font-size: 1.5em;
70
130
  padding-bottom: 0.3em;
71
131
  border-bottom: 1px solid var(--vscode-textSeparator-foreground, #d1d9e0b3);
72
132
  }
73
133
 
74
- .md-theme-vscode h3.md-heading {
134
+ .md-theme-vscode-github h3.md-heading {
75
135
  font-size: 1.25em;
76
136
  }
77
137
 
78
- .md-theme-vscode h4.md-heading {
138
+ .md-theme-vscode-github h4.md-heading {
79
139
  font-size: 1em;
80
140
  }
81
141
 
82
- .md-theme-vscode h5.md-heading {
142
+ .md-theme-vscode-github h5.md-heading {
83
143
  font-size: 0.875em;
84
144
  }
85
145
 
86
- .md-theme-vscode h6.md-heading {
146
+ .md-theme-vscode-github h6.md-heading {
87
147
  font-size: 0.85em;
88
148
  color: var(--vscode-descriptionForeground, #59636e);
89
149
  }
90
150
 
91
- .md-theme-vscode .md-paragraph {
151
+ .md-theme-vscode-github .md-paragraph {
92
152
  margin-top: 0;
93
153
  margin-bottom: 16px;
94
154
  }
95
155
 
96
- .md-theme-vscode .md-blockquote {
156
+ .md-theme-vscode-github .md-blockquote {
97
157
  margin: 0 0 16px 0;
98
158
  padding: 0 1em;
99
- /*
100
- * The left padding the `>` gutter hangs in (matches padding-left: 1em at
101
- * the base font). Must be an absolute length, not `1em`: the marker
102
- * positions itself with this var inside its own (smaller, 0.85em) font
103
- * context, so an `em` value would resolve against the marker's font-size
104
- * and pull the `>` out of alignment with the text.
105
- */
106
- --md-blockquote-pad: 16px;
159
+ /* Matches padding-left; `em` is safe because shared marker geometry inherits font size. */
160
+ --md-blockquote-pad: 1em;
107
161
  color: var(--vscode-descriptionForeground, #59636e);
108
162
  border-left: 0.25em solid var(--vscode-textBlockQuote-border, #d1d9e0);
109
163
  }
110
164
 
111
- .md-theme-vscode .md-list {
165
+ .md-theme-vscode-github .md-list {
112
166
  margin-top: 0;
113
167
  margin-bottom: 16px;
114
168
  padding-left: 2em;
@@ -116,7 +170,7 @@
116
170
  --md-list-indent-step: 2em;
117
171
  }
118
172
 
119
- .md-theme-vscode .md-thematic-break {
173
+ .md-theme-vscode-github .md-thematic-break {
120
174
  height: 0.25em;
121
175
  padding: 0;
122
176
  margin: 24px 0;
@@ -124,44 +178,44 @@
124
178
  border: 0;
125
179
  }
126
180
 
127
- .md-theme-vscode a {
181
+ .md-theme-vscode-github a {
128
182
  color: var(--vscode-textLink-foreground, #0969da);
129
183
  text-decoration: none;
130
184
  }
131
185
 
132
- .md-theme-vscode a:hover {
186
+ .md-theme-vscode-github a:hover {
133
187
  text-decoration: underline;
134
188
  }
135
189
 
136
- .md-theme-vscode strong {
190
+ .md-theme-vscode-github strong {
137
191
  font-weight: 600;
138
192
  }
139
193
 
140
194
  /* Inline code. */
141
- .md-theme-vscode :not(pre)>code {
195
+ .md-theme-vscode-github :not(pre)>code {
142
196
  font-family: var(--vscode-editor-font-family, ui-monospace, SFMono-Regular,
143
197
  'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace);
144
198
  font-size: 85%;
145
199
  padding: 0.2em 0.4em;
146
200
  margin: 0;
147
201
  color: var(--vscode-textPreformat-foreground, inherit);
148
- background-color: var(--vscode-textPreformat-background, #818b981f);
202
+ background-color: var(--md-inline-code-background);
149
203
  border-radius: 6px;
150
204
  white-space: break-spaces;
151
205
  }
152
206
 
153
207
  /* Fenced code block. */
154
- .md-theme-vscode .md-code-block {
208
+ .md-theme-vscode-github .md-code-block {
155
209
  margin-top: 0;
156
210
  margin-bottom: 16px;
157
- padding: 10px 16px;
211
+ padding: 6px 10px;
158
212
  font-size: 85%;
159
213
  line-height: 1.45;
160
214
  background-color: var(--vscode-textCodeBlock-background, #f6f8fa);
161
215
  border-radius: 6px;
162
216
  }
163
217
 
164
- .md-theme-vscode .md-code-block code {
218
+ .md-theme-vscode-github .md-code-block code {
165
219
  font-family: var(--vscode-editor-font-family, ui-monospace, SFMono-Regular,
166
220
  'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace);
167
221
  padding: 0;
@@ -174,43 +228,43 @@
174
228
  * the explorer (or any embedder) can supply a palette matched to the active
175
229
  * color theme. Fallbacks are the VS Code light theme palette.
176
230
  */
177
- .md-theme-vscode .md-code-block .tok-keyword {
231
+ .md-theme-vscode-github .md-code-block .tok-keyword {
178
232
  color: var(--md-tok-keyword, #0000ff);
179
233
  }
180
234
 
181
- .md-theme-vscode .md-code-block .tok-string {
235
+ .md-theme-vscode-github .md-code-block .tok-string {
182
236
  color: var(--md-tok-string, #a31515);
183
237
  }
184
238
 
185
- .md-theme-vscode .md-code-block .tok-comment {
239
+ .md-theme-vscode-github .md-code-block .tok-comment {
186
240
  color: var(--md-tok-comment, #008000);
187
241
  }
188
242
 
189
- .md-theme-vscode .md-code-block .tok-number {
243
+ .md-theme-vscode-github .md-code-block .tok-number {
190
244
  color: var(--md-tok-number, #098658);
191
245
  }
192
246
 
193
- .md-theme-vscode .md-code-block .tok-regexp {
247
+ .md-theme-vscode-github .md-code-block .tok-regexp {
194
248
  color: var(--md-tok-regexp, #811f3f);
195
249
  }
196
250
 
197
- .md-theme-vscode .md-code-block .tok-type {
251
+ .md-theme-vscode-github .md-code-block .tok-type {
198
252
  color: var(--md-tok-type, #267f99);
199
253
  }
200
254
 
201
- .md-theme-vscode .md-code-block .tok-annotation {
255
+ .md-theme-vscode-github .md-code-block .tok-annotation {
202
256
  color: var(--md-tok-annotation, #267f99);
203
257
  }
204
258
 
205
- .md-theme-vscode .md-code-block .tok-tag {
259
+ .md-theme-vscode-github .md-code-block .tok-tag {
206
260
  color: var(--md-tok-tag, #800000);
207
261
  }
208
262
 
209
- .md-theme-vscode .md-code-block .tok-attribute {
263
+ .md-theme-vscode-github .md-code-block .tok-attribute {
210
264
  color: var(--md-tok-attribute, #e50000);
211
265
  }
212
266
 
213
- .md-theme-vscode .md-code-block .tok-delimiter {
267
+ .md-theme-vscode-github .md-code-block .tok-delimiter {
214
268
  color: var(--md-tok-delimiter, inherit);
215
269
  }
216
270
 
@@ -218,7 +272,7 @@
218
272
  * Display math has no container styling (KaTeX renders it inline-centered).
219
273
  * Keep only the block spacing; horizontal scroll comes from the base sheet.
220
274
  */
221
- .md-theme-vscode .md-math-block {
275
+ .md-theme-vscode-github .md-math-block {
222
276
  margin-top: 0;
223
277
  margin-bottom: 16px;
224
278
  }
@@ -228,19 +282,24 @@
228
282
  * would inflate the surrounding line box. Collapse it so the rendered math fits
229
283
  * the text line and the paragraph height stays identical active vs inactive.
230
284
  */
231
- .md-theme-vscode .md-inline-math .katex {
285
+ .md-theme-vscode-github .md-inline-math .katex {
232
286
  line-height: 1;
233
287
  }
234
288
 
235
- .md-theme-vscode .md-table {
236
- border-collapse: collapse;
289
+ .md-theme-vscode-github .md-table-wrapper {
290
+ /* Block spacing lives on the wrapper (the scroll/BFC box) so it collapses
291
+ with siblings as before; the inner table has no margin of its own. */
237
292
  margin-top: 0;
238
293
  margin-bottom: 16px;
294
+ }
295
+
296
+ .md-theme-vscode-github .md-table {
297
+ border-collapse: collapse;
239
298
  width: auto;
240
299
  }
241
300
 
242
- .md-theme-vscode .md-table th,
243
- .md-theme-vscode .md-table td {
301
+ .md-theme-vscode-github .md-table th,
302
+ .md-theme-vscode-github .md-table td {
244
303
  padding: 6px 13px;
245
304
  border: 1px solid var(--vscode-editorWidget-border, #d1d9e0);
246
305
  text-align: left;
@@ -250,19 +309,19 @@
250
309
  * The editor renders every cell as <td> in a flat <table> of <tr> (no
251
310
  * <thead>/<tbody>/<th>). Row order is: header, delimiter row, body rows.
252
311
  */
253
- .md-theme-vscode .md-table tr:first-child td {
312
+ .md-theme-vscode-github .md-table tr:first-child td {
254
313
  font-weight: 600;
255
314
  padding-top: 11px;
256
315
  padding-bottom: 11px;
257
316
  }
258
317
 
259
318
  /* Active: reclaim the header's extra spacing to host the delimiter row. */
260
- .md-theme-vscode .md-table.md-block-active tr:first-child td {
319
+ .md-theme-vscode-github .md-table.md-block-active tr:first-child td {
261
320
  padding-top: 3px;
262
321
  padding-bottom: 3px;
263
322
  }
264
323
 
265
- .md-theme-vscode .md-table tr:nth-child(even):not(.md-table-delimiter-row) {
324
+ .md-theme-vscode-github .md-table tr:nth-child(even):not(.md-table-delimiter-row) {
266
325
  background-color: var(--vscode-textCodeBlock-background, #f6f8fa);
267
326
  }
268
327
 
@@ -271,7 +330,7 @@
271
330
  * editing; render it borderless with no vertical padding so it occupies just
272
331
  * the compact 10px reclaimed from the header.
273
332
  */
274
- .md-theme-vscode .md-table-delimiter-row td {
333
+ .md-theme-vscode-github .md-table-delimiter-row td {
275
334
  border: 0;
276
335
  padding: 0 13px;
277
336
  background: transparent;
@@ -283,11 +342,11 @@
283
342
  * height and first-text X — is unchanged) and clear the zebra fill so the
284
343
  * table reads as plain source.
285
344
  */
286
- .md-theme-vscode .md-table.md-block-active td {
345
+ .md-theme-vscode-github .md-table.md-block-active td {
287
346
  border-color: transparent;
288
347
  }
289
348
 
290
- .md-theme-vscode .md-table.md-block-active tr:nth-child(even):not(.md-table-delimiter-row) td {
349
+ .md-theme-vscode-github .md-table.md-block-active tr:nth-child(even):not(.md-table-delimiter-row) td {
291
350
  background-color: transparent;
292
351
  }
293
352
 
@@ -298,8 +357,8 @@
298
357
  * siblings and the glue's reserved width are untouched, so active/inactive
299
358
  * height and first-text X stay pixel-identical.
300
359
  */
301
- .md-theme-vscode .md-table.md-block-active td>.md-glue-tableCellGlue:first-child,
302
- .md-theme-vscode .md-table.md-block-active .md-table-delimiter-row td>.md-marker-tableDelimiter {
360
+ .md-theme-vscode-github .md-table.md-block-active td>.md-glue-tableCellGlue:first-child,
361
+ .md-theme-vscode-github .md-table.md-block-active .md-table-delimiter-row td>.md-marker-tableDelimiter {
303
362
  position: relative;
304
363
  left: -13px;
305
364
  }
@@ -307,16 +366,19 @@
307
366
  /*
308
367
  * The last cell's closing `|` floats right after the (left-aligned) cell text.
309
368
  * Pin it to the column's right gridline (the cell's border edge, 13px past the
310
- * content box) so the right outline is a straight line.
369
+ * content box) so the right outline is a straight line. `top: auto` keeps the
370
+ * pipe on the content line (the shared editor.css rule takes it out of flow);
371
+ * the previous `top: 0` floated it to the cell's top edge, so on tall/wrapping
372
+ * rows it no longer lined up with the in-flow leading pipes.
311
373
  */
312
- .md-theme-vscode .md-table.md-block-active td:last-child {
374
+ .md-theme-vscode-github .md-table.md-block-active td:last-child {
313
375
  position: relative;
314
376
  }
315
377
 
316
- .md-theme-vscode .md-table.md-block-active td:last-child>.md-glue-tableCellGlue:last-child {
378
+ .md-theme-vscode-github .md-table.md-block-active td:last-child>.md-glue-tableCellGlue:last-child {
317
379
  position: absolute;
318
380
  right: 0;
319
- top: 0;
381
+ top: auto;
320
382
  }
321
383
 
322
384
  /*
@@ -324,8 +386,8 @@
324
386
  * `tableDelimiterClose` marker; pin it to the same right gridline as the body
325
387
  * rows' closing pipe so the last column's outline stays straight.
326
388
  */
327
- .md-theme-vscode .md-table.md-block-active .md-table-delimiter-row td:last-child>.md-marker-tableDelimiterClose {
389
+ .md-theme-vscode-github .md-table.md-block-active .md-table-delimiter-row td:last-child>.md-marker-tableDelimiterClose {
328
390
  position: absolute;
329
391
  right: 0;
330
- top: 0;
392
+ top: auto;
331
393
  }
@@ -1,2 +0,0 @@
1
- export declare function assert(condition: boolean): void;
2
- export declare function assertNonExoticNumber(value: number): void;
@@ -1,28 +0,0 @@
1
- import { IDisposable, DisposableStore } from './disposables';
2
- export { IDisposable, DisposableStore };
3
- export declare function toDisposable(fn: () => void): IDisposable;
4
- export declare function markAsDisposed(_disposable: IDisposable): void;
5
- export declare function trackDisposable(_disposable: IDisposable): void;
6
- export declare function assertFn(_fn: () => {}): void;
7
- export declare class CancellationError extends Error {
8
- constructor();
9
- }
10
- export interface CancellationToken {
11
- /**
12
- * A flag signalling is cancellation has been requested.
13
- */
14
- readonly isCancellationRequested: boolean;
15
- /**
16
- * An event which fires when cancellation is requested. This event
17
- * only ever fires `once` as cancellation can only happen once. Listeners
18
- * that are registered after cancellation will be called (next event loop run),
19
- * but also only once.
20
- *
21
- * @event
22
- */
23
- readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
24
- }
25
- export declare function onBugIndicatingError(_error?: any): void;
26
- export declare class BugIndicatingError extends Error {
27
- constructor(message?: string);
28
- }
@@ -1,19 +0,0 @@
1
- export interface IDisposable {
2
- dispose(): void;
3
- }
4
- export declare class DisposableStore implements IDisposable {
5
- private disposables;
6
- private _isDisposed;
7
- get isDisposed(): boolean;
8
- dispose(): void;
9
- add<T extends IDisposable | undefined>(disposable: T): T;
10
- remove<T extends IDisposable | undefined>(disposable: T): T;
11
- clear(): void;
12
- leakItems(): void;
13
- }
14
- export declare abstract class Disposable implements IDisposable {
15
- protected readonly _store: DisposableStore;
16
- dispose(): void;
17
- protected _register<T extends IDisposable>(t: T): T;
18
- protected _registerOrDispose<T extends IDisposable | undefined>(t: T): T;
19
- }
@@ -1,32 +0,0 @@
1
- export type EqualityComparer<T> = (a: T, b: T) => boolean;
2
- /**
3
- * Compares two items for equality using strict equality.
4
- */
5
- export declare const strictEquals: EqualityComparer<any>;
6
- /**
7
- * Two items are considered equal, if their stringified representations are equal.
8
- */
9
- export declare function jsonStringifyEquals<T>(): EqualityComparer<T>;
10
- /**
11
- * Uses `item.equals(other)` to determine equality.
12
- */
13
- export declare function itemEquals<T extends {
14
- equals(other: T): boolean;
15
- }>(): EqualityComparer<T>;
16
- /**
17
- * Checks if two items are both null or undefined, or are equal according to the provided equality comparer.
18
- */
19
- export declare function equalsIfDefined<T>(v1: T | undefined | null, v2: T | undefined | null, equals: EqualityComparer<T>): boolean;
20
- /**
21
- * Returns an equality comparer that checks if two items are both null or undefined, or are equal according to the provided equality comparer.
22
- */
23
- export declare function equalsIfDefined<T>(equals: EqualityComparer<T>): EqualityComparer<T | undefined | null>;
24
- /**
25
- * Drills into arrays (items ordered) and objects (keys unordered) and uses strict equality on everything else.
26
- */
27
- export declare function structuralEquals<T>(a: T, b: T): boolean;
28
- /**
29
- * `getStructuralKey(a) === getStructuralKey(b) <=> structuralEquals(a, b)`
30
- * (assuming that a and b are not cyclic structures and nothing extends globalThis Array).
31
- */
32
- export declare function getStructuralKey(t: unknown): string;
@@ -1,2 +0,0 @@
1
- export * from './observableInternal/index';
2
- export * from './disposables';
@@ -1,172 +0,0 @@
1
- import { DisposableStore } from './commonFacade/deps';
2
- /**
3
- * Represents an observable value.
4
- *
5
- * @template T The type of the values the observable can hold.
6
- */
7
- export interface IObservable<T> extends IObservableWithChange<T, unknown> {
8
- }
9
- /**
10
- * Represents an observable value.
11
- *
12
- * @template T The type of the values the observable can hold.
13
- * @template TChange The type used to describe value changes
14
- * (usually `void` and only used in advanced scenarios).
15
- * While observers can miss temporary values of an observable,
16
- * they will receive all change values (as long as they are subscribed)!
17
- */
18
- export interface IObservableWithChange<T, TChange = unknown> {
19
- /**
20
- * Returns the current value.
21
- *
22
- * Calls {@link IObserver.handleChange} if the observable notices that the value changed.
23
- * Must not be called from {@link IObserver.handleChange}!
24
- */
25
- get(): T;
26
- /**
27
- * Forces the observable to check for changes and report them.
28
- *
29
- * Has the same effect as calling {@link IObservable.get}, but does not force the observable
30
- * to actually construct the value, e.g. if change deltas are used.
31
- * Calls {@link IObserver.handleChange} if the observable notices that the value changed.
32
- * Must not be called from {@link IObserver.handleChange}!
33
- */
34
- reportChanges(): void;
35
- /**
36
- * Adds the observer to the set of subscribed observers.
37
- * This method is idempotent.
38
- */
39
- addObserver(observer: IObserver): void;
40
- /**
41
- * Removes the observer from the set of subscribed observers.
42
- * This method is idempotent.
43
- */
44
- removeObserver(observer: IObserver): void;
45
- /**
46
- * Reads the current value and subscribes the reader to this observable.
47
- *
48
- * Calls {@link IReader.readObservable} if a reader is given, otherwise {@link IObservable.get}
49
- * (see {@link ConvenientObservable.read} for the implementation).
50
- */
51
- read(reader: IReader | undefined): T;
52
- /**
53
- * Makes sure this value is computed eagerly.
54
- */
55
- recomputeInitiallyAndOnChange(store: DisposableStore, handleValue?: (value: T) => void): IObservable<T>;
56
- /**
57
- * Makes sure this value is cached.
58
- */
59
- keepObserved(store: DisposableStore): IObservable<T>;
60
- /**
61
- * Creates a derived observable that depends on this observable.
62
- * Use the reader to read other observables
63
- * (see {@link ConvenientObservable.map} for the implementation).
64
- */
65
- map<TNew>(fn: (value: T, reader: IReader) => TNew): IObservable<TNew>;
66
- map<TNew>(owner: object, fn: (value: T, reader: IReader) => TNew): IObservable<TNew>;
67
- flatten<TNew>(this: IObservable<IObservable<TNew>>): IObservable<TNew>;
68
- /**
69
- * ONLY FOR DEBUGGING!
70
- * Logs computations of this derived.
71
- */
72
- log(): IObservableWithChange<T, TChange>;
73
- /**
74
- * A human-readable name for debugging purposes.
75
- */
76
- readonly debugName: string;
77
- /**
78
- * ONLY FOR DEBUGGING!
79
- */
80
- debugGetDependencyGraph(): string;
81
- /**
82
- * This property captures the type of the change object. Do not use it at runtime!
83
- */
84
- readonly TChange: TChange;
85
- }
86
- /**
87
- * Represents an observer that can be subscribed to an observable.
88
- *
89
- * If an observer is subscribed to an observable and that observable didn't signal
90
- * a change through one of the observer methods, the observer can assume that the
91
- * observable didn't change.
92
- * If an observable reported a possible change, {@link IObservable.reportChanges} forces
93
- * the observable to report an actual change if there was one.
94
- */
95
- export interface IObserver {
96
- /**
97
- * Signals that the given observable might have changed and a transaction potentially modifying that observable started.
98
- * Before the given observable can call this method again, is must call {@link IObserver.endUpdate}.
99
- *
100
- * Implementations must not get/read the value of other observables, as they might not have received this event yet!
101
- * The method {@link IObservable.reportChanges} can be used to force the observable to report the changes.
102
- */
103
- beginUpdate<T>(observable: IObservable<T>): void;
104
- /**
105
- * Signals that the transaction that potentially modified the given observable ended.
106
- * This is a good place to react to (potential) changes.
107
- */
108
- endUpdate<T>(observable: IObservable<T>): void;
109
- /**
110
- * Signals that the given observable might have changed.
111
- * The method {@link IObservable.reportChanges} can be used to force the observable to report the changes.
112
- *
113
- * Implementations must not get/read the value of other observables, as they might not have received this event yet!
114
- * The change should be processed lazily or in {@link IObserver.endUpdate}.
115
- */
116
- handlePossibleChange<T>(observable: IObservable<T>): void;
117
- /**
118
- * Signals that the given {@link observable} changed.
119
- *
120
- * Implementations must not get/read the value of other observables, as they might not have received this event yet!
121
- * The change should be processed lazily or in {@link IObserver.endUpdate}.
122
- *
123
- * @param change Indicates how or why the value changed.
124
- */
125
- handleChange<T, TChange>(observable: IObservableWithChange<T, TChange>, change: TChange): void;
126
- }
127
- export interface IReader {
128
- /**
129
- * Reads the value of an observable and subscribes to it.
130
- */
131
- readObservable<T>(observable: IObservableWithChange<T, any>): T;
132
- }
133
- export interface ISettable<T, TChange = void> {
134
- /**
135
- * Sets the value of the observable.
136
- * Use a transaction to batch multiple changes (with a transaction, observers only react at the end of the transaction).
137
- *
138
- * @param transaction When given, value changes are handled on demand or when the transaction ends.
139
- * @param change Describes how or why the value changed.
140
- */
141
- set(value: T, transaction: ITransaction | undefined, change: TChange): void;
142
- }
143
- export interface ITransaction {
144
- /**
145
- * Calls {@link Observer.beginUpdate} immediately
146
- * and {@link Observer.endUpdate} when the transaction ends.
147
- */
148
- updateObserver(observer: IObserver, observable: IObservableWithChange<any, any>): void;
149
- }
150
- /**
151
- * This function is used to indicate that the caller recovered from an error that indicates a bug.
152
- */
153
- export declare function handleBugIndicatingErrorRecovery(message: string): void;
154
- /**
155
- * A settable observable.
156
- */
157
- export interface ISettableObservable<T, TChange = void> extends IObservableWithChange<T, TChange>, ISettable<T, TChange> {
158
- }
159
- export interface IReaderWithStore extends IReader {
160
- /**
161
- * Items in this store get disposed just before the observable recomputes/reruns or when it becomes unobserved.
162
- */
163
- get store(): DisposableStore;
164
- /**
165
- * Items in this store get disposed just after the observable recomputes/reruns or when it becomes unobserved.
166
- * This is important if the current run needs the undisposed result from the last run.
167
- *
168
- * Warning: Items in this store might still get disposed before dependents (that read the now disposed value in the past) are recomputed with the new (undisposed) value!
169
- * A clean solution for this is ref counting.
170
- */
171
- get delayedStore(): DisposableStore;
172
- }