core-agent-ide/codex-rs/tui/src
pash-openai 6acede5a28
tui: restore visible line numbers for hidden file links (#12870)
we recently changed file linking so the model uses markdown links when
it wants something to be clickable.

This works well across the GUI surfaces because they can render markdown
cleanly and use the full absolute path in the anchor target.

A previous pass hid the absolute path in the TUI (and only showed the
label), but that also meant we could lose useful location info when the
model put the line number or range in the anchor target instead of the
label.

This follow-up keeps the TUI behavior simple while making local file
links feel closer to the old TUI file reference style.

key changes:
- Local markdown file links in the TUI keep the old file-ref feel: code
styling, no underline, no visible absolute path.
- If the hidden local anchor target includes a location suffix and the
label does not already include one, we append that suffix to the visible
label.
- This works for single lines, line/column references, and ranges.
- If the label already includes the location, we leave it alone.
- normal web links keep the old TUI markdown-link behavior

some examples:
- `[foo.rs](/abs/path/foo.rs)` renders as `foo.rs`
- `[foo.rs](/abs/path/foo.rs:45)` renders as `foo.rs:45`
- `[foo.rs](/abs/path/foo.rs:45:3-48:9)` renders as `foo.rs:45:3-48:9`
- `[foo.rs:45](/abs/path/foo.rs:45)` stays `foo.rs:45`
- `[docs](https://example.com/docs)` still renders like a normal web
link

how it looks:
<img width="732" height="813" alt="Screenshot 2026-02-26 at 9 27 55 AM"
src="https://github.com/user-attachments/assets/d51bf236-653a-4e83-96e4-9427f0804471"
/>
2026-02-26 10:29:54 +00:00
..
app feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
bin replace tui_markdown with a custom markdown renderer (#3396) 2025-09-10 12:13:53 -07:00
bottom_pane Enforce user input length cap (#12823) 2026-02-25 22:23:51 -08:00
chatwidget feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
exec_cell Handle orphan exec ends without clobbering active exploring cell (#12313) 2026-02-22 14:26:58 +00:00
notifications Added tui.notifications_method config option (#10043) 2026-01-28 12:00:32 -08:00
onboarding Update Codex docs success link (#12805) 2026-02-25 12:02:41 -08:00
public_widgets Persist text elements through TUI input and history (#9393) 2026-01-19 23:49:34 -08:00
render Add C# syntax option to highlight selections (#12511) 2026-02-22 12:15:20 -08:00
snapshots tui: restore visible line numbers for hidden file links (#12870) 2026-02-26 10:29:54 +00:00
status fix(tui): preserve URL clickability across all TUI views (#12067) 2026-02-21 15:31:41 -08:00
streaming feat(tui): pace catch-up stream chunking with hysteresis (#10461) 2026-02-03 15:01:51 -08:00
tui feat(tui): pace catch-up stream chunking with hysteresis (#10461) 2026-02-03 15:01:51 -08:00
additional_dirs.rs chore: remove codex-core public protocol/shell re-exports (#12432) 2026-02-20 23:45:35 -08:00
app.rs feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
app_backtrack.rs chore: remove codex-core public protocol/shell re-exports (#12432) 2026-02-20 23:45:35 -08:00
app_event.rs Display pending child-thread approvals in TUI (#12767) 2026-02-25 11:40:11 +00:00
app_event_sender.rs tui: switch to using tokio + EventStream for processing crossterm events (#2489) 2025-08-20 17:11:09 +00:00
ascii_animation.rs chore: remove model upgrade popup (#4332) 2025-09-27 13:25:09 -07:00
chatwidget.rs feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
cli.rs feat: split codex-common into smaller utils crates (#11422) 2026-02-11 12:59:24 +00:00
clipboard_paste.rs Fixed TUI regression related to image paste in WSL (#9473) 2026-01-18 23:02:02 -08:00
clipboard_text.rs feat(tui) - /copy (#12613) 2026-02-24 14:17:01 -08:00
collaboration_modes.rs Sync collaboration mode naming across Default prompt, tools, and TUI (#10666) 2026-02-04 23:03:28 -08:00
color.rs update composer + user message styling (#4240) 2025-09-26 16:35:56 -07:00
custom_terminal.rs tweaked /clear to support clear + new chat, also fix minor bug for macos terminal (#12520) 2026-02-23 09:11:05 -08:00
cwd_prompt.rs tui: exit session on Ctrl+C in cwd change prompt (#12040) 2026-02-17 14:48:12 -08:00
debug_config.rs chore: remove codex-core public protocol/shell re-exports (#12432) 2026-02-20 23:45:35 -08:00
diff_render.rs feat(tui): add theme-aware diff backgrounds with capability-graded palettes (#12581) 2026-02-24 11:55:01 -08:00
exec_command.rs chore: remove codex-core public protocol/shell re-exports (#12432) 2026-02-20 23:45:35 -08:00
external_editor.rs feat: open prompt in configured external editor (#7606) 2025-12-22 15:12:23 -08:00
file_search.rs app-server: add fuzzy search sessions for streaming file search (#10268) 2026-02-12 10:49:44 -08:00
frames.rs Login flow polish (#3632) 2025-09-15 00:42:53 -07:00
get_git_diff.rs Show progress indicator for /diff command (#2245) 2025-08-15 15:32:41 -07:00
history_cell.rs Enforce user input length cap (#12823) 2026-02-25 22:23:51 -08:00
insert_history.rs feat(tui) /clear (#12444) 2026-02-21 22:06:56 -08:00
key_hint.rs Add vim navigation keys to transcript pager (#7550) 2025-12-09 10:23:11 -08:00
lib.rs feat: add search term to thread list (#12578) 2026-02-25 09:59:41 +00:00
line_truncation.rs fix: add ellipsis for truncated status indicator (#12540) 2026-02-23 11:45:46 -08:00
live_wrap.rs Stream model responses (#1810) 2025-08-05 04:23:22 +00:00
main.rs feat: pass helper executable paths via Arg0DispatchPaths (#12719) 2026-02-24 17:44:38 -08:00
markdown.rs tui: drop citation rendering (#4855) 2025-10-20 21:08:19 +00:00
markdown_render.rs tui: restore visible line numbers for hidden file links (#12870) 2026-02-26 10:29:54 +00:00
markdown_render_tests.rs tui: restore visible line numbers for hidden file links (#12870) 2026-02-26 10:29:54 +00:00
markdown_stream.rs tui: drop citation rendering (#4855) 2025-10-20 21:08:19 +00:00
mention_codec.rs TUI/Core: preserve duplicate skill/app mention selection across submit + resume (#10855) 2026-02-06 15:59:00 -08:00
model_migration.rs fix(tui): preserve URL clickability across all TUI views (#12067) 2026-02-21 15:31:41 -08:00
multi_agents.rs feat: keep dead agents in the agent picker (#12570) 2026-02-23 12:58:55 +00:00
oss_selection.rs chore: nuke chat/completions API (#10157) 2026-02-03 11:31:57 +00:00
pager_overlay.rs fix(tui): preserve URL clickability across all TUI views (#12067) 2026-02-21 15:31:41 -08:00
resume_picker.rs feat: add search term to thread list (#12578) 2026-02-25 09:59:41 +00:00
selection_list.rs splash screen (#8270) 2025-12-18 10:59:53 -08:00
session_log.rs feat(tui) /clear (#12444) 2026-02-21 22:06:56 -08:00
shimmer.rs tui: hardcode xterm palette, shimmer blends between fg and bg (#4957) 2025-10-08 20:23:13 +00:00
skills_helpers.rs feat: split codex-common into smaller utils crates (#11422) 2026-02-11 12:59:24 +00:00
slash_command.rs feat(tui) - /copy (#12613) 2026-02-24 14:17:01 -08:00
status_indicator_widget.rs fix: show command running in background terminal in details under status indicator (#12549) 2026-02-23 21:04:24 +00:00
style.rs Make plan highlight use popup grey background (#10253) 2026-01-30 12:39:15 -08:00
terminal_palette.rs feat(tui): add theme-aware diff backgrounds with capability-graded palettes (#12581) 2026-02-24 11:55:01 -08:00
test_backend.rs feat: Constrain values for approval_policy (#7778) 2025-12-17 16:19:27 +00:00
text_formatting.rs feat(tui): add /statusline command for interactive status line configuration (#10546) 2026-02-05 08:50:21 -08:00
theme_picker.rs feat(tui): add theme-aware diff backgrounds with capability-graded palettes (#12581) 2026-02-24 11:55:01 -08:00
tooltips.rs Point Codex App tooltip links to app landing page (#11515) 2026-02-12 23:35:57 -08:00
tui.rs feat(tui) /clear (#12444) 2026-02-21 22:06:56 -08:00
ui_consts.rs Fixes (#4458) 2025-09-30 00:10:04 +00:00
update_action.rs fix: use brew upgrade --cask codex to avoid warnings and ambiguity (#9823) 2026-01-26 16:21:09 -08:00
update_prompt.rs fix: update brew auto update version check (#6238) 2025-11-10 09:05:00 -08:00
updates.rs updates: use brew api for version check (#10809) 2026-02-05 15:12:27 -08:00
version.rs Added CLI version to /status output (#3223) 2025-09-05 16:27:31 -07:00
voice.rs Add TUI realtime conversation mode (#12687) 2026-02-24 12:54:30 -08:00
wrapping.rs fix(tui): recover on owned wrap mapping mismatch (#12609) 2026-02-23 20:14:50 +00:00