@@ -30,6 +30,10 @@ As an example, you can see [scip-clang's own package map file](/tools/package-ma
30
30
(which must be the project root). For example:
31
31
- For projects using Bazel, these paths will generally look like:
32
32
` ./bazel-myproject/external/com_company_libcool ` .
33
+ However, if the ` bazel-myproject ` symlink is not present, you can
34
+ instead use absolute paths of the form ` $(bazel info output_base)/external/com_company_libcool `
35
+ after expanding ` $(bazel info output_base) `
36
+ (` scip-clang ` itself will not invoke Bazel).
33
37
2 . The ` package ` key consists of a ` name ` followed by an ` @ ` separator and a ` version ` .
34
38
- The name and version must only contain characters belonging to ` [a-zA-Z0-9_\-\.] ` .
35
39
- The version should be chosen based on release information.
@@ -53,6 +57,31 @@ using git submodules, then packages in subdirectories will be
53
57
recognized correctly if there is a package map entry
54
58
pointing to the subdirectory.
55
59
60
+ <details >
61
+ <summary >Optional: Locally verify that the cross-repo information in the SCIP index is correct</summary >
62
+
63
+ To double-check that the generated SCIP index has the correct cross-repo information,
64
+ you can use the [ ` scip ` CLI] ( https://github.com/sourcegraph/scip/releases/tag/v0.3.2 ) 's
65
+ ` snapshot ` subcommand like so:
66
+
67
+ ``` bash
68
+ # Run from project root
69
+ scip snapshot --from index.scip --to out
70
+ ```
71
+
72
+ The ` out ` directory will contain a copy of your project
73
+ annotated with SCIP data in a visual format.
74
+ For example, references to types from ` package1 ` may be marked
75
+ as follows:
76
+
77
+ ``` cpp
78
+ package1::Server server;
79
+ // ^^^^^^^^ reference cxx . . $ package1/
80
+ // ^^^^^^ reference cxx . package1 v1$ package1/Server#
81
+ ```
82
+
83
+ </details >
84
+
56
85
For cross-repository navigation to work,
57
86
` package1 ` must also be indexed with the same version information:
58
87
0 commit comments