CLI:
- Cleaned up the formatting for the
test
command. (#281)
Rust SCIP bindings:
- Bumped the pinned version of the
protobuf
crate to the latest release v3.7.1. (#287)
CLI:
- Added a
test
command for targeted testing of specific occurrences. See the CLI and test file syntax reference for details. (#236) - Breaking changes:
- Removed the
convert
subcommand for SCIP to LSIF conversion. (#275)
- Removed the
Schema:
- Added two new
SymbolKind
variants:Extension
andMixin
. (#277)
Go SCIP bindings:
- Added clearer documentation around document canonicalization. (#273)
- Breaking changes:
- Removed SCIP to LSIF conversion functionality. (#275)
SCIP schema:
- Added documentation that ranges must be half-open intervals.
Go SCIP bindings:
- Breaking changes:
- The
NewRange
function does well-formedness checks and returns(Range, error)
instead of*Range
. When skipping checks,NewRangeUnchecked
can be used instead. - The
SortRanges
function takes a[]Range
instead of a[]*Range
to avoid extra heap allocations.
- The
- Features:
- Added new methods for
Range
andPosition
types.
- Added new methods for
SCIP schema:
- Added new
PositionEncoding
field to specify how consumers should interpret the character offsets. (#224, #225)
scip CLI:
scip snapshot
output includes thediagnostics
field.
SCIP schema:
- Added new
SymbolRole
:ForwardDefinition
(#217)
scip CLI:
scip print
supports turning off colorful output using--color=false
or by setting the environment variableNO_COLOR=1
. (#214)
SCIP schema:
- Added new
Kind
enum constants to represent more detailed information about different pieces of syntax in different languages. (#195, #208, #209) - Added new
Language
enum constants. (#195, #207) - Minor documentation improvements. (#194, #206)
scip CLI:
- Added a new
--project-root
flag toscip stats
. (#187)
Go bindings:
- Added missing validation for local symbols when parsing a symbol string. (#206)
- Fixed a bug related to escaping in symbol formatting. (#186) (#206)
- Fixed a bug in occurrence canonicalization. (#180)
- Fixed some bugs in the new streaming parsing APIs. (#176, #177)
Rust bindings:
- Added missing validation for local symbols when parsing a symbol string. (#206)
SCIP schema:
- Several new fields were added:
SymbolInformation.signature_documentation
,SymbolInformation.display_name
,SymbolInformation.kind
Occurrence.enclosing_range
scip CLI:
- The
print
subcommand supports a new--json
flag to emit JSON output instead of colored textual output. (#147) - The
snapshot
subcommand supports a new--comment-syntax
flag to customize the prefix used for inline comments in snapshot output. (#139) snapshot
output now include override_documentation for occurrences. (#116)
Go bindings:
- Added new APIs to parse SCIP indexes in a streaming fashion at Document granularity. This allows consumers to process SCIP indexes with better control over memory usage. (#172)
- Fixed a panic when descriptors are incomplete (#171)
Rust bindings:
- Fixes a bug when emitting symbols which require escaping (#169)
- Fixes a bug in handling for macro symbols (#145)
- Fixed a bug in SCIP to LSIF conversion of indexes using the new
Relationship.is_definition
field. Without this fix, the generated LSIF index would fail to process in Sourcegraph with a "unknown reference to $ID (expected a range)" error. (#108)
- The new
scip print
subcommand can be used to view a SCIP index without access to protoc. (#91) - The new
scip lint
subcommand can be used to identify correctness and redundancy issues with a SCIP index. (#92)
scip --version
now works as expected instead of reporting 0.1.0. (#97)