Awesome
scip-php
SCIP Code Intelligence Protocol (SCIP) indexer for PHP
This repository is indexed using itself and available on Sourcegraph.
And here is a Sourcegraph notebook with a demo and additional explanations.
Requirements
scip-php
must be run in the root directory of the project you want to index.- It needs the
composer.json
andcomposer.lock
files in the current working directory. - Also,
scip-php
needs an up-to-date autoloader and the dependencies must be installed in the vendor directory.
Usage
Manual
Install scip-php
with composer
and the
src
binary. Then generate
the SCIP index and upload it:
composer require --dev davidrjenni/scip-php
vendor/bin/scip-php
src code-intel upload
Private Sourcegraph Instance
To use a private Sourcegraph instance, set the
SRC_ENDPOINT
and SRC_ACCESS_TOKEN
environment
variables first.
Contributing
See the contributing guidelines.
Development
- Run
composer lint
to run all linters. - Run
composer test
to run the unit tests. - Run
composer cover
to generate a coverage report.
Inspecting the Output
- Install the
scip
cli from github.com/sourcegraph/scip. - Run
bin/scip-php
to generate the SCIP index. - Run
scip snapshot
to generate snapshot files which can be used for inspecting the output of the index. - See the documentation for further functionality.
Bindings
The directory src/Bindings
contains auto-generated
bindings for SCIP. To update the bindings, download the protobuf schema
for SCIP and regenerate the bindings:
wget -O src/Bindings/scip.proto https://raw.githubusercontent.com/sourcegraph/scip/main/scip.proto
composer gen-bindings
The protobuf compiler protoc
must be present to generate the bindings.
See github.com/sourcegraph/scip for further information.