Proto commits in sourcegraph/scip

These 44 commits are when the Protocol Buffers files have changed:

Commit:4a9a63d
Author:Oskar Wickström
Committer:GitHub

feat: add SymbolInformation.Kind.Concept for C++ (#305)

The documentation is generated from this commit.

Commit:12ff730
Author:Varun Gandhi
Committer:GitHub

feat: Speed up symbol parsing by minimizing allocations (#258) Changes the symbol parsing logic to minimize allocations. In particular, when we only care about validating symbols (e.g. during document canonicalization when ingesting uploads), there is really ~no need to allocate any strings at all. Validation and parsing share most of the underlying code -- the only change is we create "writer" types which will discard writes (and hence any internal buffer growth) when we're only in validation mode. For parsing mode, it is now possible to pass in pre-allocated values which will be overwritten as possible (unless the symbol is very large, in which case it still needs to allocate new Descriptors). See PR for benchmarks.

Commit:2ff6c5f
Author:Varun Gandhi

Add a symbol role for function calls

Commit:0079f80
Author:Varun Gandhi
Committer:Varun Gandhi

schema: Add more representations for external data

Commit:aeda581
Author:Matthew Manela

merge

Commit:5e6b8fa
Author:Matthew Nitschke
Committer:GitHub

feat: Add new Symbol Kinds for Dart (#277)

Commit:f0b8d29
Author:Matthew Manela

Add call site symbol role

Commit:e7242d5
Author:Christoph Hegemann
Committer:GitHub

Symbol grammar clarifications (#255) - Forbids scheme from being empty or starting with 'local' - Unifies "any UTF-8" wording - Specifies that identifiers that can be encoded as simple identifiers have to be encoded as simple identifiers - Makes method_disambiguator optional Co-authored-by: Varun Gandhi <varun.gandhi@sourcegraph.com>

Commit:b7127de
Author:Varun Gandhi
Committer:GitHub

schema: Document that ranges should be half-open (#247)

Commit:d607d6d
Author:Olafur Geirsson
Committer:Olafur Geirsson

Add `LambdaType.typeParameters`

Commit:699342e
Author:Olafur Geirsson
Committer:Olafur Geirsson

Add support for `SymbolInformation.signature`

Commit:1d0b24e
Author:Varun Gandhi
Committer:GitHub

schema: Fix naming for PositionEncoding cases (#225)

Commit:19f7d9e
Author:Varun Gandhi
Committer:GitHub

schema: Specify the encoding for character offsets (#224) This PR adds a new `PositionEncoding` field so that indexers can specify what type of character offsets they are using. This way, consumers of SCIP can unambiguously interpret the offsets for non-ASCII data. I have kept it as a field on `Document` rather than `Index` because: 1. There is no additional benefit from having it on `Index` because occurrences only belong inside Documents, not outside. 2. It allows one to concatenate indexes from different sources which use different kinds of offsets.

Commit:beb6593
Author:Varun Gandhi
Committer:GitHub

docs: Add example for enclosing_range with decorator (#221)

Commit:3935113
Author:Varun Gandhi
Committer:GitHub

feat: Add SymbolRole for representing forward declarations (#217) * feat: Add ForwardDeclaration SymbolRole * fix: Format forward_declaration separately in snapshot logic * test: Add forward decls to repro grammar + test case * feat: Add lint rule for bad forward decls * Rename forward declaration role -> forward definition

Commit:003102e
Author:Varun Gandhi
Committer:GitHub

schema: Add more symbol kinds for Ruby, C# and C++ (#209)

Commit:2458fe6
Author:Julie Tibshirani
Committer:GitHub

schema: Add fine-grained kinds for abstract methods (#208) Co-authored-by: Varun Gandhi <varun.gandhi@sourcegraph.com>

Commit:2c1de44
Author:Varun Gandhi
Committer:GitHub

schema: Add more languages (#207)

Commit:2260bb1
Author:Varun Gandhi
Committer:GitHub

docs: Document local-id syntax (#206)

Commit:8d3634b
Author:Fuyao Zhao
Committer:GitHub

Add Symbol kinds and language for Solidity (#195)

Commit:6400b04
Author:Varun Gandhi
Committer:GitHub

fix: Typos in schema docs (#194)

Commit:41527fd
Author:Varun Gandhi
Committer:GitHub

bindings/go: Add document-granularity streaming Index parser (#172)

Commit:6b8102d
Author:Ólafur Páll Geirsson
Committer:GitHub

Add `SymbolInformation.enclosing_symbol` (#164) * Add `SymbolInformation.enclosing_symbol` Towards https://github.com/sourcegraph/scip/issues/154 Previously, it was not possible to determine the enclosing symbol of a local because the syntax for local symbols has no hierarchy (unlike global symbols). This PR closes the gap by adding a field `SymbolInformation.enclosing_symbol` to allow documenting the "parent" or "owner" of a local symbol. * Add example for enclosing_symbol * Regenerate bindings, and gitignore Haskell output

Commit:1346f26
Author:Ólafur Páll Geirsson
Committer:GitHub

Add `SymbolInformation.signature_documentation` (#159) * Add `SymbolInformation.signature_documentation` Towards https://github.com/sourcegraph/scip/issues/154 Previously, SCIP clients had to parse markdown from the `SymbolInformation.documentation` field to display only the signature information of a symbol (for example, method parameters and return type). With the new `SymbolInformation.signature_documentation` field, indexers can now emit more structured information about the signature of a class/method including optional hyperlinks to the referenced symbols. * Made `signature_documentation` non-repeated

Commit:c781a12
Author:Ólafur Páll Geirsson
Committer:GitHub

Add `SymbolInformation.display_name` (#158) * Add `SymbolInformation.display_name` Towards https://github.com/sourcegraph/scip/issues/154 Previously, there was no reliable way to get the name of a symbol. You could parse it from the symbol descriptor but that only worked for global symbols (not locals) and was error-prone when the indexer chooses to a special encoding in the symbol for some reason (for example, all-lowercase because symbols are case-insensitive). Now, clients can use `SymbolInformation.display_name` to reliably get the name of a symbol to render in API docs or some other application. * Add example for `display_name`.

Commit:4e11295
Author:Ólafur Páll Geirsson
Committer:GitHub

Add `SymbolInformation.kind` (#156) Co-authored-by: Varun Gandhi <varun.gandhi@sourcegraph.com>

Commit:ee677ba
Author:Eric Fritz
Committer:GitHub

Add `enclosing_range` to `Occurrence` message (#150)

Commit:e33e329
Author:Ólafur Páll Geirsson
Committer:GitHub

Documentation: update `is_implementation` example (#134) * Documentation: update `is_implementation` example * Generate protos

Commit:3856df7
Author:Varun Gandhi
Committer:GitHub

docs: Document suffix for macros (#129)

Commit:42662d1
Author:Noah Santschi-Cooney

wip

Commit:acddabb
Author:Varun Gandhi
Committer:GitHub

bindings/go: Fix conversion for is_definition relationships. (#108)

Commit:ae09e3b
Author:Varun Gandhi
Committer:GitHub

scheme: Add is_definition relationship (#88)

Commit:e26a0b0
Author:TJ DeVries

feat: add folding ranges

Commit:8cb58eb
Author:Varun Gandhi
Committer:GitHub

docs: Add use case for override_documentation. (#76)

Commit:552e26c
Author:Ólafur Páll Geirsson
Committer:GitHub

Rename `IdentifierKeyword` into `Keyword` (#74) I was surprised to see we have the name `IdentifierKeyword` because keywords are not identifiers in the compiler/tokenizer APIs that I have used in the past.

Commit:7ff845e
Author:TJ DeVries
Committer:GitHub

rust: add symbol support and move generated code (#44) * add symbol support and move generated code for rust * proto: add Macro * optional: always get some documentation to add * fix: handle namespace

Commit:6c076cb
Author:Varun Gandhi
Committer:Varun Gandhi

schema: Mention that non-local symbols don't need SymbolInformation.

Commit:262268e
Author:Varun Gandhi
Committer:GitHub

schema: Document that names should be fully-qualified. (#66)

Commit:c91650e
Author:Varun Gandhi
Committer:GitHub

schema: Document useless case. (#59)

Commit:c71764f
Author:Varun Gandhi
Committer:GitHub

schema: Update wording and punctuation (#38)

Commit:56b5936
Author:Varun Gandhi
Committer:GitHub

schema: Clarify module and package terminology. (#54)

Commit:37f914d
Author:Varun Gandhi
Committer:GitHub

schema: Disambiguate between uses of <package> in grammar. (#53)

Commit:0ec762f
Author:Ólafur Páll Geirsson
Committer:GitHub

Add a `Document.language` field (#37) * Add a `Document.language` field Previously, SCIP consumers had to infer the programming language based on the `Document.relative_path` field. It's common for some programming languages to support multiple file formats (example, `.ts` and `.tsx` for TypeScript). * Add more languages from the LSP spec https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ * schema: Add more languages + rearrange. * Mark docs/scip.md as generated. * schema: Fix doc comment + regenerate. * Use alphabetical order for langauges and rename for consistency with LSP Co-authored-by: Varun Gandhi <varun.gandhi@sourcegraph.com>

Commit:3a3ca0c
Author:Varun Gandhi
Committer:GitHub

Migrate SCIP code out of sourcegraph/sourcegraph (#1) * schema: Add protobuf schema from sourcegraph/sourcegraph. * Generate output from protobuf + add brief docs. * Add Go bindings + CLI. * Add GitHub PR template. * ci: Add GitHub Actions for checking validity. * Consolidate language stuff under bindings/. * Run go mod tidy. * Fix typo in GitHub Action name. * Fix bindings generation for TypeScript. * ci: Install toolchains using asdf. * Migrate code for Repro lang to scip repo. * ci: Break out language checks into separate GitHub Actions. * Use Yarn workspaces to unify yarn.lock file * Remove SOC2 mention from the PR template. * Remove PR auditor check to reduce risk of discouraging external contributions * Fix failing TypeScript CI job * Use `git diff --exit-code` to see why the command failed * Fix tree-sitter CI job * This commit should fail in CI * Revert "This commit should fail in CI" * Experiment with reusable GH workflows * Add missing `shell` property * Optimization: skip unnecessary asdf installations * Add shell property, and fix names of jobs * Fix indentation level for `inputs:` * Add missing asdf directory to the PATH * Add asdf binaries to the PATH * Use asdf in protobuf CI job * Add prettier formatting check * Reformat with prettier * Give formatting CI job a proper name * Skip tree-sitter generated files from prettier * Tweak glob patterns for formatting CI check * Don't install docs for Rust * Fix paths for generated files in .gitattributes * Fix incorrect mentions of LSIF to SCIP. * Move reprolang under cmd/tests/. * Add editor-specific directories to .gitignore * Fix Rust check for reprolang move. * Rerun all workflows if any single one changes. * ci: Use local prettier not global. * Fix prettier nonsense. Co-authored-by: Varun Gandhi <varun.gandhi@sourcegraph.com> Co-authored-by: Ólafur Páll Geirsson <olafurpg@gmail.com>