Skip to content

Fix ANSI hyperlink parsing and cursor positioning#13

Merged
vito merged 1 commit intovito:masterfrom
analytically:feature/poshyper
Oct 28, 2025
Merged

Fix ANSI hyperlink parsing and cursor positioning#13
vito merged 1 commit intovito:masterfrom
analytically:feature/poshyper

Conversation

@analytically
Copy link
Copy Markdown
Contributor

  • Fix hyperlink URL parsing to preserve semicolons in URLs by only splitting on first two semicolons
  • Fix non-ASCII character encoding in URLs to encode individual characters rather than entire string
  • Fix CursorColumn (CSI G) to use 1-based indexing as per ANSI spec
  • Fix EraseToBeginning to not preserve hyperlinks in erased content
  • Remove OSC backslash terminator support (ESC+)
  • Update elm-explorations/test to 2.2.0
  • Add comprehensive test coverage for URL edge cases and erase behavior
  • Update yarn.lock to v2/v3 format

- Fix hyperlink URL parsing to preserve semicolons in URLs by only
  splitting on first two semicolons
- Fix non-ASCII character encoding in URLs to encode individual
  characters rather than entire string
- Fix CursorColumn (CSI G) to use 1-based indexing as per ANSI spec
- Fix EraseToBeginning to not preserve hyperlinks in erased content
- Remove OSC backslash terminator support (ESC+\)
- Update elm-explorations/test to 2.2.0
- Add comprehensive test coverage for URL edge cases and erase behavior
- Update yarn.lock to v2/v3 format

Signed-off-by: Mathias Bogaert <mathias.bogaert@gmail.com>
@analytically
Copy link
Copy Markdown
Contributor Author

@vito

@analytically
Copy link
Copy Markdown
Contributor Author

CSI G bug: ESC[nG wasn't converting from 1-based (ANSI) to 0-based (internal) indexing, causing cursor to be 1 column too far right. Rare in practice - most tools use other cursor commands.

@vito
Copy link
Copy Markdown
Owner

vito commented Oct 28, 2025

Thanks!

@vito vito merged commit d95927d into vito:master Oct 28, 2025
@vito
Copy link
Copy Markdown
Owner

vito commented Oct 28, 2025

(Will cut a release soon, gotta walk the dog first)

@analytically analytically deleted the feature/poshyper branch October 28, 2025 18:24
@analytically
Copy link
Copy Markdown
Contributor Author

FYI concourse/concourse#9342

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants