Enable go-to-declaration on GitHub PHP repositories
This is frontend for the Code Path Finder system.
First thing to note are two filter modes that exist. Whitelist (which is enabled by default) and blacklist. Whitelist mode requires list of patterns that describe paths on which extension should be triggered. Blacklist mode is the opposite, where you list patterns on which extension should not be triggered. You can change that behavior on the options page.
Extension is triggered on the PHP files or commit diffs that have PHP files in them.
On a single file, extension queries backend for known indices and updates DOM so that you can navigate through the code. On a commit diff, every PHP file will have a button CPF that you can click. When the button is clicked, both left and right side are queried for indices. If you load additional context on a diff, you can click CPF button again to remap newly loaded context as well.
Since whole repositories are indexed with their dependencies, navigation is not limited only to a single PHP file. You can navigate to a different file within a repository or to a file in a different repository.
When an identifier is clicked on a single PHP file, other occurrences are displayed on the right, in the minimap. You can use that to quickly navigate to some part of the code.
Both extension and backend system are in development.