Ubisam-MobileGit/tasks/060-tap-a-function-in-the-code.md
choiminyeong 023fa0b728 TASK-060: a function's name in the code is a link to its counterpart
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 16:24:26 +09:00

2.1 KiB

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

Status: implemented; required checks pass; installed on the product owner's Z Fold7, awaiting their confirmation 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.