Ubisam-MobileGit/tasks/060-tap-a-function-in-the-code.md
choiminyeong f6ac20c8ed TASK-063: task records say what is actually open
No task waits on a Codex review; the redesign tasks are confirmed on the
product owner's Z Fold7; TASK-016's leftovers are on hold; no biometric
reauthentication.

Agent: main (opus)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:25:49 +09:00

2.1 KiB

TASK-060: Tapping a function's name in the code

Status: implemented; required checks pass; confirmed by the human product owner on their Z Fold7 (2026-09-29) Owner: Claude Reviewer: human product owner

Outcome

TASK-059 put the jump from a header to its source on a button in the outline. The human product owner asked for it in the code itself.

Scope

  • Included:
    • In a file that has a counterpart, the name of a function is underlined on the line that declares or defines it. Tapping it opens the counterpart at the function of the same name: .h to .cpp, and .cpp to .h.
    • Side by side, tapping the name in one pane brings the same function into view in the other.
  • Excluded:
    • A function's name where it is called. Going from a call to a definition needs to know which file defines it, which means reading the whole repository; this app reads one file at a time.
    • Files with no counterpart (C#, a lone .cpp): no names are links, as there is nowhere to go.
    • Telling overloads apart: the first function of that name is the one shown.

Writable paths

  • app/src/main/java/com/ubisam/ubgitea/feature/codebrowser/
  • app/src/test/java/com/ubisam/ubgitea/feature/codebrowser/
  • tasks/, docs/

Acceptance criteria

  • Only the name is the link, not the whole line; the rest of the line can still be selected.
  • The name is found after a qualifier (A::F), for a constructor (A::A) and a destructor.
  • A name that is only part of a longer word on the line is not linked.
  • Unit tests cover where the name is found.

Security and privacy

No additional concerns.

Required checks

./gradlew compileDebugKotlin compileDebugUnitTestKotlin testDebugUnitTest assembleDebug lintDebug

Evidence

  • Required checks pass: 437 unit tests, 0 failures; lint 0 errors.
  • Installed on the SM-F966N over wireless adb.
  • Not seen on a screen by the implementer. In particular, how a tap on a link and a long press to select text get along inside the selectable code has not been tried on a device.

Review findings

None yet.