@theia/core 1.75.0-next.14 → 1.75.0-next.19

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 (22) hide show
  1. package/README.md +14 -14
  2. package/lib/browser/catalog.json +10 -6
  3. package/lib/browser/markdown-rendering/markdown-link-handler.d.ts +11 -0
  4. package/lib/browser/markdown-rendering/markdown-link-handler.d.ts.map +1 -1
  5. package/lib/browser/markdown-rendering/markdown-link-handler.js +23 -1
  6. package/lib/browser/markdown-rendering/markdown-link-handler.js.map +1 -1
  7. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +11 -0
  8. package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
  9. package/lib/browser/markdown-rendering/markdown-renderer.js +41 -0
  10. package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
  11. package/lib/browser/markdown-rendering/markdown-renderer.spec.d.ts +2 -0
  12. package/lib/browser/markdown-rendering/markdown-renderer.spec.d.ts.map +1 -0
  13. package/lib/browser/markdown-rendering/markdown-renderer.spec.js +79 -0
  14. package/lib/browser/markdown-rendering/markdown-renderer.spec.js.map +1 -0
  15. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
  16. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +3 -2
  17. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  18. package/package.json +19 -19
  19. package/src/browser/markdown-rendering/markdown-link-handler.ts +23 -1
  20. package/src/browser/markdown-rendering/markdown-renderer.spec.ts +88 -0
  21. package/src/browser/markdown-rendering/markdown-renderer.ts +43 -0
  22. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +3 -2
package/README.md CHANGED
@@ -75,15 +75,15 @@ export class SomeClass {
75
75
  - `electron` (from [`electron@42.3.0`](https://www.npmjs.com/package/electron/v/42.3.0))
76
76
  - `electron-store` (from [`electron-store@^8.2.0`](https://www.npmjs.com/package/electron-store))
77
77
  - `@theia/core/shared/...`
78
- - `@lumino/algorithm` (from [`@lumino/algorithm@^2.0.4`](https://www.npmjs.com/package/@lumino/algorithm))
79
- - `@lumino/commands` (from [`@lumino/commands@^2.3.3`](https://www.npmjs.com/package/@lumino/commands))
80
- - `@lumino/coreutils` (from [`@lumino/coreutils@^2.2.2`](https://www.npmjs.com/package/@lumino/coreutils))
81
- - `@lumino/domutils` (from [`@lumino/domutils@^2.0.4`](https://www.npmjs.com/package/@lumino/domutils))
82
- - `@lumino/dragdrop` (from [`@lumino/dragdrop@^2.1.8`](https://www.npmjs.com/package/@lumino/dragdrop))
83
- - `@lumino/messaging` (from [`@lumino/messaging@^2.0.4`](https://www.npmjs.com/package/@lumino/messaging))
84
- - `@lumino/properties` (from [`@lumino/properties@^2.0.4`](https://www.npmjs.com/package/@lumino/properties))
85
- - `@lumino/signaling` (from [`@lumino/signaling@^2.1.5`](https://www.npmjs.com/package/@lumino/signaling))
86
- - `@lumino/virtualdom` (from [`@lumino/virtualdom@^2.0.4`](https://www.npmjs.com/package/@lumino/virtualdom))
78
+ - `@lumino/algorithm` (from [`@lumino/algorithm@^2.0.5`](https://www.npmjs.com/package/@lumino/algorithm))
79
+ - `@lumino/commands` (from [`@lumino/commands@^2.3.4`](https://www.npmjs.com/package/@lumino/commands))
80
+ - `@lumino/coreutils` (from [`@lumino/coreutils@^2.2.3`](https://www.npmjs.com/package/@lumino/coreutils))
81
+ - `@lumino/domutils` (from [`@lumino/domutils@^2.0.5`](https://www.npmjs.com/package/@lumino/domutils))
82
+ - `@lumino/dragdrop` (from [`@lumino/dragdrop@^2.1.9`](https://www.npmjs.com/package/@lumino/dragdrop))
83
+ - `@lumino/messaging` (from [`@lumino/messaging@^2.0.5`](https://www.npmjs.com/package/@lumino/messaging))
84
+ - `@lumino/properties` (from [`@lumino/properties@^2.0.5`](https://www.npmjs.com/package/@lumino/properties))
85
+ - `@lumino/signaling` (from [`@lumino/signaling@^2.1.6`](https://www.npmjs.com/package/@lumino/signaling))
86
+ - `@lumino/virtualdom` (from [`@lumino/virtualdom@^2.0.5`](https://www.npmjs.com/package/@lumino/virtualdom))
87
87
  - `@lumino/widgets` (from [`@lumino/widgets@2.7.5`](https://www.npmjs.com/package/@lumino/widgets/v/2.7.5))
88
88
  - `@theia/application-package` (from [`@theia/application-package@1.74.0`](https://www.npmjs.com/package/@theia/application-package/v/1.74.0))
89
89
  - `@theia/application-package/lib/api` (from [`@theia/application-package@1.74.0`](https://www.npmjs.com/package/@theia/application-package/v/1.74.0))
@@ -99,16 +99,16 @@ export class SomeClass {
99
99
  - `react-virtuoso` (from [`react-virtuoso@^2.19.1`](https://www.npmjs.com/package/react-virtuoso))
100
100
  - `vscode-languageserver-protocol` (from [`vscode-languageserver-protocol@3.17.5`](https://www.npmjs.com/package/vscode-languageserver-protocol/v/3.17.5))
101
101
  - `vscode-uri` (from [`vscode-uri@3.0.8`](https://www.npmjs.com/package/vscode-uri/v/3.0.8))
102
- - `@parcel/watcher` (from [`@parcel/watcher@^2.5.6`](https://www.npmjs.com/package/@parcel/watcher))
103
- - `dompurify` (from [`dompurify@^3.4.11`](https://www.npmjs.com/package/dompurify))
102
+ - `@parcel/watcher` (from [`@parcel/watcher@^2.6.0`](https://www.npmjs.com/package/@parcel/watcher))
103
+ - `dompurify` (from [`dompurify@^3.4.13`](https://www.npmjs.com/package/dompurify))
104
104
  - `express` (from [`express@^4.22.2`](https://www.npmjs.com/package/express))
105
105
  - `lodash.debounce` (from [`lodash.debounce@^4.0.8`](https://www.npmjs.com/package/lodash.debounce))
106
106
  - `lodash.throttle` (from [`lodash.throttle@^4.1.1`](https://www.npmjs.com/package/lodash.throttle))
107
107
  - `markdown-it` (from [`markdown-it@^14.3.0`](https://www.npmjs.com/package/markdown-it))
108
- - `markdown-it-anchor` (from [`markdown-it-anchor@^9.2.0`](https://www.npmjs.com/package/markdown-it-anchor))
109
- - `markdown-it-emoji` (from [`markdown-it-emoji@^3.0.0`](https://www.npmjs.com/package/markdown-it-emoji))
108
+ - `markdown-it-anchor` (from [`markdown-it-anchor@^9.2.1`](https://www.npmjs.com/package/markdown-it-anchor))
109
+ - `markdown-it-emoji` (from [`markdown-it-emoji@^3.1.0`](https://www.npmjs.com/package/markdown-it-emoji))
110
110
  - `react` (from [`react@^18.3.1 || ^19.0.0`](https://www.npmjs.com/package/react))
111
- - `ws` (from [`ws@^8.21.0`](https://www.npmjs.com/package/ws))
111
+ - `ws` (from [`ws@^8.21.3`](https://www.npmjs.com/package/ws))
112
112
  - `yargs` (from [`yargs@^17.7.3`](https://www.npmjs.com/package/yargs))
113
113
 
114
114
  ## Logging Configuration
@@ -812,6 +812,7 @@
812
812
  "url": "https://raw.githubusercontent.com/ClementTsang/bottom/main/schema/v0.10/bottom.json",
813
813
  "versions": {
814
814
  "nightly": "https://raw.githubusercontent.com/ClementTsang/bottom/main/schema/nightly/bottom.json",
815
+ "0.14.7": "https://raw.githubusercontent.com/ClementTsang/bottom/main/schema/v0.14.7/bottom.json",
815
816
  "0.14.0": "https://raw.githubusercontent.com/ClementTsang/bottom/main/schema/v0.14.0/bottom.json",
816
817
  "0.13.0": "https://raw.githubusercontent.com/ClementTsang/bottom/main/schema/v0.13.0/bottom.json",
817
818
  "0.12.0": "https://raw.githubusercontent.com/ClementTsang/bottom/main/schema/v0.12.0/bottom.json",
@@ -7913,7 +7914,7 @@
7913
7914
  "venvironment.json",
7914
7915
  "*.venvironment.json"
7915
7916
  ],
7916
- "url": "https://www.schemastore.org/venvironment-schema-v5.0.0.json",
7917
+ "url": "https://www.schemastore.org/venvironment-schema-v5.1.0.json",
7917
7918
  "versions": {
7918
7919
  "1.0.0": "https://www.schemastore.org/venvironment-schema-v1.0.0.json",
7919
7920
  "1.1.0": "https://www.schemastore.org/venvironment-schema-v1.1.0.json",
@@ -7927,7 +7928,8 @@
7927
7928
  "4.0.0": "https://www.schemastore.org/venvironment-schema-v4.0.0.json",
7928
7929
  "4.1.0": "https://www.schemastore.org/venvironment-schema-v4.1.0.json",
7929
7930
  "4.2.0": "https://www.schemastore.org/venvironment-schema-v4.2.0.json",
7930
- "5.0.0": "https://www.schemastore.org/venvironment-schema-v5.0.0.json"
7931
+ "5.0.0": "https://www.schemastore.org/venvironment-schema-v5.0.0.json",
7932
+ "5.1.0": "https://www.schemastore.org/venvironment-schema-v5.1.0.json"
7931
7933
  }
7932
7934
  },
7933
7935
  {
@@ -7941,10 +7943,11 @@
7941
7943
  "venvplus.json",
7942
7944
  "*.venvplus.json"
7943
7945
  ],
7944
- "url": "https://www.schemastore.org/venvplus-schema-v1.1.0.json",
7946
+ "url": "https://www.schemastore.org/venvplus-schema-v1.2.0.json",
7945
7947
  "versions": {
7946
7948
  "1.0.0": "https://www.schemastore.org/venvplus-schema-v1.0.0.json",
7947
- "1.1.0": "https://www.schemastore.org/venvplus-schema-v1.1.0.json"
7949
+ "1.1.0": "https://www.schemastore.org/venvplus-schema-v1.1.0.json",
7950
+ "1.2.0": "https://www.schemastore.org/venvplus-schema-v1.2.0.json"
7948
7951
  }
7949
7952
  },
7950
7953
  {
@@ -10983,9 +10986,10 @@
10983
10986
  "name": "OKF Graph",
10984
10987
  "description": "Graph generated for an OKF bundle",
10985
10988
  "fileMatch": ["okf.json"],
10986
- "url": "https://www.schemastore.org/okf-0.1.json",
10989
+ "url": "https://www.schemastore.org/okf-0.2.json",
10987
10990
  "versions": {
10988
- "0.1": "https://www.schemastore.org/okf-0.1.json"
10991
+ "0.1": "https://www.schemastore.org/okf-0.1.json",
10992
+ "0.2": "https://www.schemastore.org/okf-0.2.json"
10989
10993
  }
10990
10994
  },
10991
10995
  {
@@ -1,6 +1,15 @@
1
1
  import { Disposable } from '../../common';
2
2
  import { MarkdownString } from '../../common/markdown-rendering/markdown-string';
3
3
  import { OpenerService } from '../opener-service';
4
+ /**
5
+ * Marks an element whose markdown links are already routed through an {@link OpenerService}.
6
+ *
7
+ * Renderers that install their own link handling declare it with {@link markMarkdownLinksWired},
8
+ * so that {@link wireMarkdownLinkHandler} does not add a second handler and open every link twice.
9
+ */
10
+ export declare const MARKDOWN_LINKS_WIRED_ATTRIBUTE = "data-theia-markdown-links-wired";
11
+ /** Declares that the element's markdown links are already routed through an {@link OpenerService}. */
12
+ export declare function markMarkdownLinksWired(root: HTMLElement): void;
4
13
  /**
5
14
  * Wires up anchor clicks inside a rendered markdown element so that they are routed
6
15
  * through the {@link OpenerService} instead of relying on default browser navigation.
@@ -9,6 +18,8 @@ import { OpenerService } from '../opener-service';
9
18
  * Also sets the `title` attribute on each anchor to its `href` (when no title is set)
10
19
  * so users can hover to see the link target.
11
20
  *
21
+ * Does nothing if the element's links are already wired, see {@link markMarkdownLinksWired}.
22
+ *
12
23
  * @returns a {@link Disposable} that removes the click listener.
13
24
  */
14
25
  export declare function wireMarkdownLinkHandler(root: HTMLElement, source: MarkdownString, openerService: OpenerService): Disposable;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-link-handler.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-link-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,OAAO,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,aAAa,GAC7B,UAAU,CAyBZ"}
1
+ {"version":3,"file":"markdown-link-handler.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-link-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,OAAO,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,oCAAoC,CAAC;AAEhF,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAE9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,aAAa,GAC7B,UAAU,CAgCZ"}
@@ -15,11 +15,24 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MARKDOWN_LINKS_WIRED_ATTRIBUTE = void 0;
19
+ exports.markMarkdownLinksWired = markMarkdownLinksWired;
18
20
  exports.wireMarkdownLinkHandler = wireMarkdownLinkHandler;
19
21
  const common_1 = require("../../common");
20
22
  const markdown_string_1 = require("../../common/markdown-rendering/markdown-string");
21
23
  const uri_1 = require("../../common/uri");
22
24
  const opener_service_1 = require("../opener-service");
25
+ /**
26
+ * Marks an element whose markdown links are already routed through an {@link OpenerService}.
27
+ *
28
+ * Renderers that install their own link handling declare it with {@link markMarkdownLinksWired},
29
+ * so that {@link wireMarkdownLinkHandler} does not add a second handler and open every link twice.
30
+ */
31
+ exports.MARKDOWN_LINKS_WIRED_ATTRIBUTE = 'data-theia-markdown-links-wired';
32
+ /** Declares that the element's markdown links are already routed through an {@link OpenerService}. */
33
+ function markMarkdownLinksWired(root) {
34
+ root.setAttribute(exports.MARKDOWN_LINKS_WIRED_ATTRIBUTE, 'true');
35
+ }
23
36
  /**
24
37
  * Wires up anchor clicks inside a rendered markdown element so that they are routed
25
38
  * through the {@link OpenerService} instead of relying on default browser navigation.
@@ -28,9 +41,15 @@ const opener_service_1 = require("../opener-service");
28
41
  * Also sets the `title` attribute on each anchor to its `href` (when no title is set)
29
42
  * so users can hover to see the link target.
30
43
  *
44
+ * Does nothing if the element's links are already wired, see {@link markMarkdownLinksWired}.
45
+ *
31
46
  * @returns a {@link Disposable} that removes the click listener.
32
47
  */
33
48
  function wireMarkdownLinkHandler(root, source, openerService) {
49
+ if (root.hasAttribute(exports.MARKDOWN_LINKS_WIRED_ATTRIBUTE)) {
50
+ return common_1.Disposable.NULL;
51
+ }
52
+ markMarkdownLinksWired(root);
34
53
  for (const anchor of root.querySelectorAll('a')) {
35
54
  const href = anchor.getAttribute('href');
36
55
  if (href && !anchor.hasAttribute('title')) {
@@ -55,6 +74,9 @@ function wireMarkdownLinkHandler(root, source, openerService) {
55
74
  }
56
75
  };
57
76
  root.addEventListener('click', handleClick);
58
- return common_1.Disposable.create(() => root.removeEventListener('click', handleClick));
77
+ return common_1.Disposable.create(() => {
78
+ root.removeEventListener('click', handleClick);
79
+ root.removeAttribute(exports.MARKDOWN_LINKS_WIRED_ATTRIBUTE);
80
+ });
59
81
  }
60
82
  //# sourceMappingURL=markdown-link-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-link-handler.js","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-link-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAiBhF,0DA6BC;AA5CD,yCAA0C;AAC1C,qFAAiF;AACjF,0CAAmC;AACnC,sDAAwD;AAExD;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CACnC,IAAiB,EACjB,MAAsB,EACtB,aAA4B;IAE5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAI,KAAK,CAAC,MAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gCAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACtG,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAA,qBAAI,EAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"markdown-link-handler.js","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-link-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAgBhF,wDAEC;AAcD,0DAoCC;AAlED,yCAA0C;AAC1C,qFAAiF;AACjF,0CAAmC;AACnC,sDAAwD;AAExD;;;;;GAKG;AACU,QAAA,8BAA8B,GAAG,iCAAiC,CAAC;AAEhF,sGAAsG;AACtG,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,IAAI,CAAC,YAAY,CAAC,sCAA8B,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,uBAAuB,CACnC,IAAiB,EACjB,MAAsB,EACtB,aAA4B;IAE5B,IAAI,IAAI,CAAC,YAAY,CAAC,sCAA8B,CAAC,EAAE,CAAC;QACpD,OAAO,mBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IACD,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAI,KAAK,CAAC,MAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gCAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACtG,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAA,qBAAI,EAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,sCAA8B,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -41,5 +41,16 @@ export declare class MarkdownRendererImpl implements MarkdownRenderer {
41
41
  protected init(): void;
42
42
  render(markdown: MarkdownString | undefined, options?: MarkdownRenderOptions): MarkdownRenderResult;
43
43
  protected markdownItPlugin(): void;
44
+ /**
45
+ * Parses the `width=W,height=H` parameter list of an image's sizing suffix.
46
+ *
47
+ * @returns the recognized dimensions, or `undefined` if the suffix is not a well-formed
48
+ * parameter list — in which case it is left as part of the `src`, since it may be a literal
49
+ * `|` in the URL.
50
+ */
51
+ protected parseImageDimensions(params: string): {
52
+ width?: string;
53
+ height?: string;
54
+ } | undefined;
44
55
  }
45
56
  //# sourceMappingURL=markdown-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-renderer.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACzC;AAMD,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACpD,OAAO,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,0BAA0B;IACrE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACzF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7C;AAID,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,oBAAoB,CAAC;CACrH;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,WAAW,uBAAuB;IACpC,IAAI,gBAAgB,CAAC;CACxB;AAED,qBACa,oBAAqB,YAAW,gBAAgB;IACpC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IACjE,SAAS,CAAC,QAAQ,CAAC,UAAU,aAA0C;IACvE,SAAS,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAGhD,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,oBAAoB;IAWnG,SAAS,CAAC,gBAAgB,IAAI,IAAI;CAWrC"}
1
+ {"version":3,"file":"markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-renderer.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACzC;AAMD,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACpD,OAAO,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,0BAA0B;IACrE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACzF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7C;AAID,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,oBAAoB,CAAC;CACrH;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,WAAW,uBAAuB;IACpC,IAAI,gBAAgB,CAAC;CACxB;AAED,qBACa,oBAAqB,YAAW,gBAAgB;IACpC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IACjE,SAAS,CAAC,QAAQ,CAAC,UAAU,aAA0C;IACvE,SAAS,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAGhD,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,oBAAoB;IAWnG,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAoClC;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;CAWlG"}
@@ -60,6 +60,47 @@ let MarkdownRendererImpl = class MarkdownRendererImpl {
60
60
  return `<i class="${(0, widgets_1.codicon)(chunk.name)} ${chunk.animation ? `fa-${chunk.animation}` : ''} icon-inline"></i>`;
61
61
  }).join('');
62
62
  };
63
+ // Support VS Code's `![alt](src|width=W,height=H)` image sizing syntax, which markdown-it
64
+ // would otherwise fold into the `src` attribute, yielding a broken image.
65
+ const renderImage = this.markdownIt.renderer.rules.image;
66
+ this.markdownIt.renderer.rules.image = (tokens, idx, options, env, self) => {
67
+ const token = tokens[idx];
68
+ const srcIndex = token.attrIndex('src');
69
+ if (srcIndex >= 0 && token.attrs) {
70
+ const src = token.attrs[srcIndex][1];
71
+ // markdown-it percent-encodes the link destination, so the separator may have
72
+ // become `%7C` by the time the token reaches the renderer.
73
+ const separator = /(?:\||%7c)(?![\s\S]*(?:\||%7c))/i.exec(src);
74
+ if (separator) {
75
+ const dimensions = this.parseImageDimensions(src.substring(separator.index + separator[0].length));
76
+ if (dimensions) {
77
+ token.attrs[srcIndex][1] = src.substring(0, separator.index);
78
+ for (const [name, value] of Object.entries(dimensions)) {
79
+ token.attrSet(name, value);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ return renderImage ? renderImage(tokens, idx, options, env, self) : self.renderToken(tokens, idx, options);
85
+ };
86
+ }
87
+ /**
88
+ * Parses the `width=W,height=H` parameter list of an image's sizing suffix.
89
+ *
90
+ * @returns the recognized dimensions, or `undefined` if the suffix is not a well-formed
91
+ * parameter list — in which case it is left as part of the `src`, since it may be a literal
92
+ * `|` in the URL.
93
+ */
94
+ parseImageDimensions(params) {
95
+ const dimensions = {};
96
+ for (const param of params.split(',')) {
97
+ const match = /^\s*(width|height)\s*=\s*(\d+)\s*$/.exec(param);
98
+ if (!match) {
99
+ return undefined;
100
+ }
101
+ dimensions[match[1]] = match[2];
102
+ }
103
+ return Object.keys(dimensions).length > 0 ? dimensions : undefined;
63
104
  }
64
105
  };
65
106
  exports.MarkdownRendererImpl = MarkdownRendererImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-renderer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,uCAAuC;AACvC,yCAA8D;AAC9D,0CAA0C;AAC1C,qDAAqD;AAGrD,kDAA8C;AAC9C,wCAAqC;AA4BrC,aAAa;AAEb,uFAAuF;AAC1E,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAK3D;;;GAGG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE,2DAA2D;AAC9C,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAMlE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAA1B;QAEgB,eAAU,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IA8B3E,CAAC;IA1Ba,IAAI;QACV,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,QAAoC,EAAE,OAA+B;QACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACtC,uBAAuB,EAAE,IAAI,CAAC,wDAAwD;aACzF,CAAC,CAAC;QACP,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACjD,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,aAAa,IAAA,iBAAO,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC;YAClH,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;CACJ,CAAA;AAhCY,oDAAoB;AACW;IAAvC,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCAAiC,0BAAW;yDAAC;AAKvD;IADT,IAAA,yBAAa,GAAE;;;;gDAGf;+BARQ,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAgChC"}
1
+ {"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=markdown-renderer.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-renderer.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-renderer.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const jsdom_1 = require("../test/jsdom");
19
+ const disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const inversify_1 = require("inversify");
21
+ const chai_1 = require("chai");
22
+ const common_1 = require("../../common");
23
+ const markdown_string_1 = require("../../common/markdown-rendering/markdown-string");
24
+ const label_parser_1 = require("../label-parser");
25
+ const markdown_renderer_1 = require("./markdown-renderer");
26
+ disableJSDOM();
27
+ describe('MarkdownRendererImpl', () => {
28
+ let restoreJSDOM;
29
+ let renderer;
30
+ before(() => {
31
+ restoreJSDOM = (0, jsdom_1.enableJSDOM)();
32
+ const container = new inversify_1.Container();
33
+ container.bind(label_parser_1.LabelParser).toSelf().inSingletonScope();
34
+ container.bind(common_1.CommandService).toConstantValue({
35
+ executeCommand: () => Promise.resolve(undefined)
36
+ });
37
+ container.bind(markdown_renderer_1.MarkdownRendererImpl).toSelf().inSingletonScope();
38
+ container.bind(markdown_renderer_1.MarkdownRenderer).toService(markdown_renderer_1.MarkdownRendererImpl);
39
+ renderer = container.get(markdown_renderer_1.MarkdownRenderer);
40
+ });
41
+ after(() => {
42
+ restoreJSDOM();
43
+ });
44
+ function renderImage(markdown) {
45
+ const { element } = renderer.render(new markdown_string_1.MarkdownStringImpl(markdown));
46
+ const image = element.querySelector('img');
47
+ (0, chai_1.expect)(image, `image rendered for '${markdown}'`).to.not.be.null;
48
+ return image;
49
+ }
50
+ it('applies the width and height of an image sizing suffix', () => {
51
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|width=20,height=20)');
52
+ (0, chai_1.expect)(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1');
53
+ (0, chai_1.expect)(image.getAttribute('width')).to.equal('20');
54
+ (0, chai_1.expect)(image.getAttribute('height')).to.equal('20');
55
+ });
56
+ it('applies a suffix that sets only one dimension', () => {
57
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|width=20)');
58
+ (0, chai_1.expect)(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1');
59
+ (0, chai_1.expect)(image.getAttribute('width')).to.equal('20');
60
+ (0, chai_1.expect)(image.hasAttribute('height')).to.be.false;
61
+ });
62
+ // markdown-it percent-encodes the link destination, so a pipe it keeps shows up as `%7C`.
63
+ it('keeps a literal pipe that is not a well-formed sizing suffix', () => {
64
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|v=2)');
65
+ (0, chai_1.expect)(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1%7Cv=2');
66
+ (0, chai_1.expect)(image.hasAttribute('width')).to.be.false;
67
+ });
68
+ it('ignores a non-numeric dimension', () => {
69
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|width=20px)');
70
+ (0, chai_1.expect)(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1%7Cwidth=20px');
71
+ (0, chai_1.expect)(image.hasAttribute('width')).to.be.false;
72
+ });
73
+ it('renders an image without a suffix unchanged', () => {
74
+ const image = renderImage('![Jane](https://avatars.example.com/u/1)');
75
+ (0, chai_1.expect)(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1');
76
+ (0, chai_1.expect)(image.hasAttribute('width')).to.be.false;
77
+ });
78
+ });
79
+ //# sourceMappingURL=markdown-renderer.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-renderer.spec.js","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-renderer.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar-toolbar-menu-adapters.d.ts","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-bar-toolbar-menu-adapters.d.ts","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx"],"names":[],"mappings":"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"}
@@ -77,14 +77,15 @@ class AbstractToolbarMenuWrapper {
77
77
  const icon = this.icon || 'ellipsis';
78
78
  const contextMatcher = this.contextKeyService;
79
79
  const className = `${icon} ${widgets_1.ACTION_ITEM}`;
80
+ const itemClassName = tab_bar_toolbar_1.TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu' + (this.isToggled(widget) ? ' toggled' : '');
80
81
  if (menu_1.CompoundMenuNode.is(this.menuNode) && !this.menuNode.isEmpty(this.effectiveMenuPath, this.contextKeyService, widget.node, widget)) {
81
- return React.createElement("div", { key: this.id, className: tab_bar_toolbar_1.TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu' },
82
+ return React.createElement("div", { key: this.id, className: itemClassName },
82
83
  React.createElement("div", { id: this.id, className: className, title: this.tooltip || this.text, onClick: e => this.executeCommand(widget, e) }),
83
84
  React.createElement("div", { className: widgets_1.ACTION_ITEM, onClick: event => this.showPopupMenu(widget, this.effectiveMenuPath, event, contextMatcher) },
84
85
  React.createElement("div", { className: (0, widgets_1.codicon)('chevron-down') + ' chevron' })));
85
86
  }
86
87
  else {
87
- return React.createElement("div", { key: this.id, className: tab_bar_toolbar_1.TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu' },
88
+ return React.createElement("div", { key: this.id, className: itemClassName },
88
89
  React.createElement("div", { id: this.id, className: className, title: this.tooltip || this.text, onClick: e => this.executeCommand(widget, e) }));
89
90
  }
90
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar-toolbar-menu-adapters.js","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-bar-toolbar-menu-adapters.js","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.75.0-next.14+28da106c2",
3
+ "version": "1.75.0-next.19+713634fd5",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
8
  "@babel/runtime": "^7.29.7",
9
- "@lumino/algorithm": "^2.0.4",
10
- "@lumino/commands": "^2.3.3",
11
- "@lumino/coreutils": "^2.2.2",
12
- "@lumino/domutils": "^2.0.4",
13
- "@lumino/dragdrop": "^2.1.8",
14
- "@lumino/messaging": "^2.0.4",
15
- "@lumino/properties": "^2.0.4",
16
- "@lumino/signaling": "^2.1.5",
17
- "@lumino/virtualdom": "^2.0.4",
9
+ "@lumino/algorithm": "^2.0.5",
10
+ "@lumino/commands": "^2.3.4",
11
+ "@lumino/coreutils": "^2.2.3",
12
+ "@lumino/domutils": "^2.0.5",
13
+ "@lumino/dragdrop": "^2.1.9",
14
+ "@lumino/messaging": "^2.0.5",
15
+ "@lumino/properties": "^2.0.5",
16
+ "@lumino/signaling": "^2.1.6",
17
+ "@lumino/virtualdom": "^2.0.5",
18
18
  "@lumino/widgets": "2.7.5",
19
- "@parcel/watcher": "^2.5.6",
20
- "@theia/application-package": "1.75.0-next.14+28da106c2",
21
- "@theia/request": "1.75.0-next.14+28da106c2",
19
+ "@parcel/watcher": "^2.6.0",
20
+ "@theia/application-package": "1.75.0-next.19+713634fd5",
21
+ "@theia/request": "1.75.0-next.19+713634fd5",
22
22
  "@types/body-parser": "^1.19.6",
23
23
  "@types/express": "^4.17.25",
24
24
  "@types/fs-extra": "^4.0.15",
@@ -33,9 +33,9 @@
33
33
  "@vscode/codicons": "0.0.45",
34
34
  "ajv": "^6.15.0",
35
35
  "async-mutex": "^0.4.1",
36
- "body-parser": "^1.20.5",
36
+ "body-parser": "^1.20.6",
37
37
  "cookie": "^1.1.1",
38
- "dompurify": "^3.4.11",
38
+ "dompurify": "^3.4.13",
39
39
  "drivelist": "^12.0.2",
40
40
  "express": "^4.22.2",
41
41
  "fast-json-stable-stringify": "^2.1.0",
@@ -52,8 +52,8 @@
52
52
  "lodash.debounce": "^4.0.8",
53
53
  "lodash.throttle": "^4.1.1",
54
54
  "markdown-it": "^14.3.0",
55
- "markdown-it-anchor": "^9.2.0",
56
- "markdown-it-emoji": "^3.0.0",
55
+ "markdown-it-anchor": "^9.2.1",
56
+ "markdown-it-emoji": "^3.1.0",
57
57
  "msgpackr": "^1.12.1",
58
58
  "p-debounce": "^2.1.0",
59
59
  "perfect-scrollbar": "1.5.5",
@@ -68,7 +68,7 @@
68
68
  "uuid": "^11.1.1",
69
69
  "vscode-languageserver-protocol": "3.17.5",
70
70
  "vscode-uri": "3.0.8",
71
- "ws": "^8.21.0",
71
+ "ws": "^8.21.3",
72
72
  "yargs": "^17.7.3"
73
73
  },
74
74
  "peerDependencies": {
@@ -230,5 +230,5 @@
230
230
  "nyc": {
231
231
  "extends": "../../configs/nyc.json"
232
232
  },
233
- "gitHead": "28da106c2541b3bfecf676b60d655774809e4b6b"
233
+ "gitHead": "713634fd5885ff8abde8cfd50bc3493d535772a5"
234
234
  }
@@ -19,6 +19,19 @@ import { MarkdownString } from '../../common/markdown-rendering/markdown-string'
19
19
  import URI from '../../common/uri';
20
20
  import { open, OpenerService } from '../opener-service';
21
21
 
22
+ /**
23
+ * Marks an element whose markdown links are already routed through an {@link OpenerService}.
24
+ *
25
+ * Renderers that install their own link handling declare it with {@link markMarkdownLinksWired},
26
+ * so that {@link wireMarkdownLinkHandler} does not add a second handler and open every link twice.
27
+ */
28
+ export const MARKDOWN_LINKS_WIRED_ATTRIBUTE = 'data-theia-markdown-links-wired';
29
+
30
+ /** Declares that the element's markdown links are already routed through an {@link OpenerService}. */
31
+ export function markMarkdownLinksWired(root: HTMLElement): void {
32
+ root.setAttribute(MARKDOWN_LINKS_WIRED_ATTRIBUTE, 'true');
33
+ }
34
+
22
35
  /**
23
36
  * Wires up anchor clicks inside a rendered markdown element so that they are routed
24
37
  * through the {@link OpenerService} instead of relying on default browser navigation.
@@ -27,6 +40,8 @@ import { open, OpenerService } from '../opener-service';
27
40
  * Also sets the `title` attribute on each anchor to its `href` (when no title is set)
28
41
  * so users can hover to see the link target.
29
42
  *
43
+ * Does nothing if the element's links are already wired, see {@link markMarkdownLinksWired}.
44
+ *
30
45
  * @returns a {@link Disposable} that removes the click listener.
31
46
  */
32
47
  export function wireMarkdownLinkHandler(
@@ -34,6 +49,10 @@ export function wireMarkdownLinkHandler(
34
49
  source: MarkdownString,
35
50
  openerService: OpenerService
36
51
  ): Disposable {
52
+ if (root.hasAttribute(MARKDOWN_LINKS_WIRED_ATTRIBUTE)) {
53
+ return Disposable.NULL;
54
+ }
55
+ markMarkdownLinksWired(root);
37
56
  for (const anchor of root.querySelectorAll('a')) {
38
57
  const href = anchor.getAttribute('href');
39
58
  if (href && !anchor.hasAttribute('title')) {
@@ -57,5 +76,8 @@ export function wireMarkdownLinkHandler(
57
76
  }
58
77
  };
59
78
  root.addEventListener('click', handleClick);
60
- return Disposable.create(() => root.removeEventListener('click', handleClick));
79
+ return Disposable.create(() => {
80
+ root.removeEventListener('click', handleClick);
81
+ root.removeAttribute(MARKDOWN_LINKS_WIRED_ATTRIBUTE);
82
+ });
61
83
  }
@@ -0,0 +1,88 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { enableJSDOM } from '../test/jsdom';
18
+ const disableJSDOM = enableJSDOM();
19
+
20
+ import { Container } from 'inversify';
21
+ import { expect } from 'chai';
22
+ import { CommandService } from '../../common';
23
+ import { MarkdownStringImpl } from '../../common/markdown-rendering/markdown-string';
24
+ import { LabelParser } from '../label-parser';
25
+ import { MarkdownRenderer, MarkdownRendererImpl } from './markdown-renderer';
26
+
27
+ disableJSDOM();
28
+
29
+ describe('MarkdownRendererImpl', () => {
30
+ let restoreJSDOM: () => void;
31
+ let renderer: MarkdownRenderer;
32
+
33
+ before(() => {
34
+ restoreJSDOM = enableJSDOM();
35
+ const container = new Container();
36
+ container.bind(LabelParser).toSelf().inSingletonScope();
37
+ container.bind(CommandService).toConstantValue({
38
+ executeCommand: <T>(): Promise<T | undefined> => Promise.resolve(undefined)
39
+ });
40
+ container.bind(MarkdownRendererImpl).toSelf().inSingletonScope();
41
+ container.bind(MarkdownRenderer).toService(MarkdownRendererImpl);
42
+ renderer = container.get<MarkdownRenderer>(MarkdownRenderer);
43
+ });
44
+
45
+ after(() => {
46
+ restoreJSDOM();
47
+ });
48
+
49
+ function renderImage(markdown: string): HTMLImageElement {
50
+ const { element } = renderer.render(new MarkdownStringImpl(markdown));
51
+ const image = element.querySelector('img');
52
+ expect(image, `image rendered for '${markdown}'`).to.not.be.null;
53
+ return image!;
54
+ }
55
+
56
+ it('applies the width and height of an image sizing suffix', () => {
57
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|width=20,height=20)');
58
+ expect(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1');
59
+ expect(image.getAttribute('width')).to.equal('20');
60
+ expect(image.getAttribute('height')).to.equal('20');
61
+ });
62
+
63
+ it('applies a suffix that sets only one dimension', () => {
64
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|width=20)');
65
+ expect(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1');
66
+ expect(image.getAttribute('width')).to.equal('20');
67
+ expect(image.hasAttribute('height')).to.be.false;
68
+ });
69
+
70
+ // markdown-it percent-encodes the link destination, so a pipe it keeps shows up as `%7C`.
71
+ it('keeps a literal pipe that is not a well-formed sizing suffix', () => {
72
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|v=2)');
73
+ expect(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1%7Cv=2');
74
+ expect(image.hasAttribute('width')).to.be.false;
75
+ });
76
+
77
+ it('ignores a non-numeric dimension', () => {
78
+ const image = renderImage('![Jane](https://avatars.example.com/u/1|width=20px)');
79
+ expect(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1%7Cwidth=20px');
80
+ expect(image.hasAttribute('width')).to.be.false;
81
+ });
82
+
83
+ it('renders an image without a suffix unchanged', () => {
84
+ const image = renderImage('![Jane](https://avatars.example.com/u/1)');
85
+ expect(image.getAttribute('src')).to.equal('https://avatars.example.com/u/1');
86
+ expect(image.hasAttribute('width')).to.be.false;
87
+ });
88
+ });
@@ -101,5 +101,48 @@ export class MarkdownRendererImpl implements MarkdownRenderer {
101
101
  return `<i class="${codicon(chunk.name)} ${chunk.animation ? `fa-${chunk.animation}` : ''} icon-inline"></i>`;
102
102
  }).join('');
103
103
  };
104
+
105
+ // Support VS Code's `![alt](src|width=W,height=H)` image sizing syntax, which markdown-it
106
+ // would otherwise fold into the `src` attribute, yielding a broken image.
107
+ const renderImage = this.markdownIt.renderer.rules.image;
108
+ this.markdownIt.renderer.rules.image = (tokens, idx, options, env, self) => {
109
+ const token = tokens[idx];
110
+ const srcIndex = token.attrIndex('src');
111
+ if (srcIndex >= 0 && token.attrs) {
112
+ const src = token.attrs[srcIndex][1];
113
+ // markdown-it percent-encodes the link destination, so the separator may have
114
+ // become `%7C` by the time the token reaches the renderer.
115
+ const separator = /(?:\||%7c)(?![\s\S]*(?:\||%7c))/i.exec(src);
116
+ if (separator) {
117
+ const dimensions = this.parseImageDimensions(src.substring(separator.index + separator[0].length));
118
+ if (dimensions) {
119
+ token.attrs[srcIndex][1] = src.substring(0, separator.index);
120
+ for (const [name, value] of Object.entries(dimensions)) {
121
+ token.attrSet(name, value);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ return renderImage ? renderImage(tokens, idx, options, env, self) : self.renderToken(tokens, idx, options);
127
+ };
128
+ }
129
+
130
+ /**
131
+ * Parses the `width=W,height=H` parameter list of an image's sizing suffix.
132
+ *
133
+ * @returns the recognized dimensions, or `undefined` if the suffix is not a well-formed
134
+ * parameter list — in which case it is left as part of the `src`, since it may be a literal
135
+ * `|` in the URL.
136
+ */
137
+ protected parseImageDimensions(params: string): { width?: string, height?: string } | undefined {
138
+ const dimensions: { width?: string, height?: string } = {};
139
+ for (const param of params.split(',')) {
140
+ const match = /^\s*(width|height)\s*=\s*(\d+)\s*$/.exec(param);
141
+ if (!match) {
142
+ return undefined;
143
+ }
144
+ dimensions[match[1] as 'width' | 'height'] = match[2];
145
+ }
146
+ return Object.keys(dimensions).length > 0 ? dimensions : undefined;
104
147
  }
105
148
  }
@@ -96,8 +96,9 @@ abstract class AbstractToolbarMenuWrapper {
96
96
  const icon = this.icon || 'ellipsis';
97
97
  const contextMatcher: ContextMatcher = this.contextKeyService;
98
98
  const className = `${icon} ${ACTION_ITEM}`;
99
+ const itemClassName = TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu' + (this.isToggled(widget) ? ' toggled' : '');
99
100
  if (CompoundMenuNode.is(this.menuNode) && !this.menuNode.isEmpty(this.effectiveMenuPath, this.contextKeyService, widget.node, widget)) {
100
- return <div key={this.id} className={TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu'}>
101
+ return <div key={this.id} className={itemClassName}>
101
102
  <div id={this.id} className={className}
102
103
  title={this.tooltip || this.text}
103
104
  onClick={e => this.executeCommand(widget, e)}
@@ -107,7 +108,7 @@ abstract class AbstractToolbarMenuWrapper {
107
108
  </div>
108
109
  </div>;
109
110
  } else {
110
- return <div key={this.id} className={TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu'}>
111
+ return <div key={this.id} className={itemClassName}>
111
112
  <div id={this.id} className={className}
112
113
  title={this.tooltip || this.text}
113
114
  onClick={e => this.executeCommand(widget, e)}