feat: Add option to disable inline task overlay for aliased links #1361
+35
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New user setting to control whether the interactive Task Link Overlay widget is rendered for links that utilize custom display text (aliases).
Motivation
When embedding tasks within prose (e.g., a meeting note sentence), the widget's inline presence can be disruptive or interfere with the flow of surrounding text.
This feature allows users to choose to hide the widget specifically for aliased links, effectively treating them as plain hyperlinks while keeping the widget active for non-aliased links.
[[Task Name]](No alias, shows widget)[[Task Name|Check Status]](Alias present, hides widget)Implementation Details
disableOverlayOnAlias(boolean, defaultfalse) toTaskNotesSettings.src/editor/TaskLinkOverlay.ts(Live Preview): Skips decoration if the link is a Wikilink containing a pipe (|).src/editor/ReadingModeTaskLinkProcessor.ts(Reading Mode): Uses a heuristic check to skip rendering if the link's displayed text does not match the original file path or the task title.Review
[[Task|Alias]]) do NOT render the widget in Live Preview or Reading Mode.[Alias](path)) do still render the widget for now.[[Task Name]]) do still render the widget.