# 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 - [x] Only the name is the link, not the whole line; the rest of the line can still be selected. - [x] The name is found after a qualifier (`A::F`), for a constructor (`A::A`) and a destructor. - [x] A name that is only part of a longer word on the line is not linked. - [x] Unit tests cover where the name is found. ## Security and privacy No additional concerns. ## Required checks ```text ./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.