@cplieger/web-terminal-engine 2.4.0 → 2.5.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/jsr.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cplieger/web-terminal-engine",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "exports": {
5
5
  ".": "./src/index.ts"
6
6
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cplieger/web-terminal-engine",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "typecheck": "tsc -p tsconfig.json",
package/src/render.ts CHANGED
@@ -590,9 +590,13 @@ function buildRowSpans(runs: WireRun[], cursorAt: number): (HTMLSpanElement | HT
590
590
  a.href = href;
591
591
  a.target = "_blank";
592
592
  a.rel = "noopener noreferrer";
593
- // OSC 8 app hyperlink: base `.term-link`. Auto-detected URLs additionally
594
- // get `.term-autolink` (see linkifySpans).
595
- a.className = "term-link";
593
+ // Server-stamped autolink (attr bit 1024, vt.AttrAutolink): a bare URL
594
+ // the server detected — joined across soft-wrap continuations, so every
595
+ // row segment carries the FULL href. Styled like the client's own
596
+ // autolinks (persistent underline; the anchor hugs exactly the URL
597
+ // text). An app-provided OSC 8 hyperlink keeps the hover-only base
598
+ // `.term-link` (it may span decorative cells).
599
+ a.className = (attrs & 1024) !== 0 ? "term-link term-autolink" : "term-link";
596
600
  for (const s of runSpans) {
597
601
  a.appendChild(s);
598
602
  }