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.
scip-phpmust be run in the root directory of the project you want to index.- It needs the
composer.jsonandcomposer.lockfiles in the current working directory. - Also,
scip-phpneeds an up-to-date autoloader and the dependencies must be installed in the vendor directory.
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 uploadTo use a private Sourcegraph instance, set the
SRC_ENDPOINT and SRC_ACCESS_TOKEN environment
variables first.
See the contributing guidelines.
- Run
composer lintto run all linters. - Run
composer testto run the unit tests. - Run
composer coverto generate a coverage report.
- Install the
scipcli from github.com/sourcegraph/scip. - Run
bin/scip-phpto generate the SCIP index. - Run
scip snapshotto generate snapshot files which can be used for inspecting the output of the index. - See the documentation for further functionality.
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-bindingsThe protobuf compiler protoc must be present to generate the bindings.
See github.com/sourcegraph/scip for further information.