Skip to content

Follow links and wikilinks with Ctrl+Click - #40

Open
pastorryanhayden wants to merge 1 commit into
omacom:masterfrom
pastorryanhayden:follow-links
Open

pastorryanhayden wants to merge 1 commit into
omacom:masterfrom
pastorryanhayden:follow-links

Conversation

@pastorryanhayden

@pastorryanhayden pastorryanhayden commented Aug 30, 2026

Copy link
Copy Markdown

Summary

This adds wikilink and url functionality to Omawrite.

  • Ctrl+Click and Ctrl+Enter follow the link under the pointer or caret.
  • Obsidian [[wikilinks]] (with #heading and |alias) open the matching note in Omawrite. Resolution looks beside the current file, then under the nearest .obsidian vault. Missing notes are not created; the status bar names them instead.
  • Markdown [text](url) links, <https://…> autolinks, and bare https:// URLs open in the browser. Relative .md paths open in Omawrite.
  • Clickable ranges include the hidden []() / [[ ]] markup so a click on the visible label still hits. MouseArea consumes Ctrl+click because TextEdit otherwise steals the pointer for selection.
  • A regular click still places the caret.

Validation

  • ./bin/test — 16 tests passed

Ctrl+Click and Ctrl+Enter open Obsidian-style [[wikilinks]] in Omawrite
and http(s) or markdown links in the browser. Missing notes are left
alone and named in the status bar. Clickable ranges include the hidden
markup so a click on the visible label still hits.
johnkattenhorn added a commit to johnkattenhorn/omawrite that referenced this pull request Sep 17, 2026
Reworked from omacom#8 by @mohit-dayma. omacom#8 adds a third hover-enabled
MouseArea over the editor, on top of the one omacom#40 uses for Ctrl+click and the
ones omacom#66 uses for checkboxes, and carries its own `destination` span through
InlineMarkup to find the URL text. Three overlapping grabs is a fight waiting to
happen, and omacom#40 already resolves the link to a string.

So the hover rides omacom#40's existing MouseArea and reads its `target`. The
destination shows above the footer: outside the editor's own clip, so a link
near the bottom edge is still readable, and out of the footer's fixed row of
controls, because a path is as long as it is.

The cursor still answers to Ctrl, because Ctrl is what follows the link. The
destination shows either way -- reading it is what tells you whether to hold
Ctrl at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant