Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new SymbolInformation fields(rebase on main) #707

Merged
merged 11 commits into from
Jun 19, 2024

Conversation

keynmol
Copy link
Contributor

@keynmol keynmol commented May 20, 2024

Fixes GRAPH-564
This is a rebase and fixup of #677.

As it's introducing changes to the fields that Sourcegraph backend relies on, I updated the backend to handle it.

This PR will be merged and released once a new Sourcegraph release is cut.

Test plan:

  • New tests
  • Updates to existing snapshot tests

@keynmol keynmol changed the title new SymbolInformation fields rebase new SymbolInformation fields(rebase on main) May 20, 2024
nicolas-guichard and others added 11 commits May 20, 2024 13:09
This copies the latest additions to the Document message:
 * a new language field and Language enum
 * a new text field, to embed the document content itself.
This is meant for the new SymbolInformation::signature_documentation
field.

This also updates some documentation comments.
This copies the latest additions to the SymbolInformation message:
 * the documentation field is explicitly not meant for signature
   documentation anymore, instead a new signature_documentation field
   is added
 * a new display_name field is added
 * a new enclosing_symbol field is added for local symbols
 * a new kind field is added along with a Kind enum to have a
   finer-grained classification than the one provided by descriptor
   suffixes (and is especially useful for local symbols which don't
   have suffixes)
The SemanticDB schema already provides a display_name field, forward it
to the SCIP output in scip-semanticdb.
This also adds support to the ScipPrinters testing utility and updates
the tests accordingly.
SemanticDB provides a structured version of the signature in the
signature field. Instead of turning it into a markdown-encoded string
for the documentation field, this builds a Document for the
signature_documentation field.

This also updates the ScipPrinters testing utility and the tests
accordingly.
SemanticDB used to have a SymbolInformation::owner field with id 15.
This re-introduces the field with the same semantics under the name
enclosing_symbol.

To be able to re-use the field 15, this moves the out-of-spec
definition_relationships field to id 21.
This also adds support to the ScipPrinters testing utility.
This only populates the enclosing_symbol for local symbols, and updates
the tests accordingly.
This also updates the ScipPrinters testing utility and the tests
accordingly.
@keynmol
Copy link
Contributor Author

keynmol commented May 24, 2024

Update: this PR is ready to go in isolation, but because it changes the way description field is rendered, it will have a negative effect on Sourcegraph customers.

Therefore we have a ticket to start using signature_document if it's present, and fallback to description field if it's not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants