Chrome extension that enables cross-repository PHP code navigation on (currently limited amount) GitHub pages
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
3rd-party
css
docs/res/img
.gitignore
CHANGELOG.md
Makefile
README.md
background.js
common.js
decorator.js
diff-app.js
file-app.js
filter.js
manifest.json
menu.html
minimap.js
options.html
options.js
popup.js
remap.js

README.md

Code Path Finder - Chrome extension

Extension that uses info from codepf.com to remap GitHub PHP code markup and thus provide code navigation.

Installation

You can find this extension at the Chrome Web Store.

Usage

Open a PHP file on GitHub, and if it's indexed, the code will be made clickable. You'll see 200 in the badge text. If the code is not indexed, 404 will appear. While remapping is active, you'll see XXX in the badge text.

References resolving can be slow on big files, so it can sometimes take a few seconds until the server responds.

Example of highlighting references to the same identifier. On the right is sidebar that shows occurrences within the whole file. You can click on an orange box and jump to the line.

Example of highlighting references to the same identifier

Use ALT+Click on a reference to navigate to the declaration.

Extension popup hides additional indexing information, as well the possibility to disable extension.

Popup window

Extension is disabled globally and it clears data from every tab that has been remapped.

If you enable the extension again, if the current tab is some PHP file on GitHub, it will be remapped again. Every other tab that has some PHP file on GitHub opened, will be flagged for remapping when tab if focused.

Commit diff

Extension can also remap diffs. CPF button will be displayed on PHP files that, when clicked, will remap that file. If you load additional context, you can click CPF button again and that file will be remapped.

Suggestions

I'm not a JS dev, so probably a lot can be changed in this code. If you have an idea, feel free to change the code and submit a PR.