[PR #12225] [MERGED] Add support for hyperlinks to AtlasEngine #28905

Open
opened 2026-01-31 09:31:33 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/12225
Author: @lhecker
Created: 1/23/2022
Status: Merged
Merged: 1/25/2022
Merged by: @undefined

Base: mainHead: dev/lhecker/atlas-engine-hyperlinks


📝 Commits (1)

  • 038c2e9 Add support for hyperlinks to AtlasEngine

📊 Changes

3 files changed (+31 additions, -6 deletions)

View changed files

📝 src/renderer/atlas/AtlasEngine.api.cpp (+2 -1)
📝 src/renderer/atlas/AtlasEngine.cpp (+25 -4)
📝 src/renderer/atlas/AtlasEngine.h (+4 -1)

📄 Description

Renderer owns the information of the hovered interval in _hoveredInterval
and provides no access to this information. We can only infer it from calls
to PaintBufferGridLines, if we're given the request to draw an underline
despite the previous call to UpdateDrawingBrushes not specifying it.
While it'd be possible to fix this and pass the underline flag to
UpdateDrawingBrushes, I personally consider this aspect of Renderer to be
a "leaky abstraction" as it's inherently incompatible with any engine not
working like DxEngine, such as the AtlasEngine. It's likely more
worthwhile to fundamentally change the Renderer architecture in the future.

PR Checklist

Validation Steps Performed

  • Launch pwsh.exe
  • Hyperlinks are underlined when hovered
  • Launch WSL / bash
  • Run printf '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'
  • Hyperlink is underlined when hovered

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/12225 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 1/23/2022 **Status:** ✅ Merged **Merged:** 1/25/2022 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/lhecker/atlas-engine-hyperlinks` --- ### 📝 Commits (1) - [`038c2e9`](https://github.com/microsoft/terminal/commit/038c2e91c8ff1c1e0f25c3e56d3d7842ccf0a895) Add support for hyperlinks to AtlasEngine ### 📊 Changes **3 files changed** (+31 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/atlas/AtlasEngine.api.cpp` (+2 -1) 📝 `src/renderer/atlas/AtlasEngine.cpp` (+25 -4) 📝 `src/renderer/atlas/AtlasEngine.h` (+4 -1) </details> ### 📄 Description `Renderer` owns the information of the hovered interval in `_hoveredInterval` and provides no access to this information. We can only infer it from calls to `PaintBufferGridLines`, if we're given the request to draw an underline despite the previous call to `UpdateDrawingBrushes` not specifying it. While it'd be possible to fix this and pass the underline flag to `UpdateDrawingBrushes`, I personally consider this aspect of `Renderer` to be a "leaky abstraction" as it's inherently incompatible with any engine not working like `DxEngine`, such as the `AtlasEngine`. It's likely more worthwhile to fundamentally change the `Renderer` architecture in the future. ## PR Checklist * [x] Closes #11871 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Launch pwsh.exe * Hyperlinks are underlined when hovered ✅ * Launch WSL / bash * Run `printf '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'` * Hyperlink is underlined when hovered ✅ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:31:33 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#28905