Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

SCIP ctags: add kinds for Kotlin #57998

Merged
merged 1 commit into from
Nov 1, 2023
Merged

SCIP ctags: add kinds for Kotlin #57998

merged 1 commit into from
Nov 1, 2023

Conversation

jtibshirani
Copy link
Member

@jtibshirani jtibshirani commented Oct 30, 2023

Improved ctags kind output for Kotlin:

  • Split type into class, interface, object, and enum
  • Split variable into enumMember, constant, and property
  • Add type alias

Relates to https://github.com/sourcegraph/sourcegraph/issues/57659

Test plan

Updated snapshot tests, manually compared to ctags output

@cla-bot cla-bot bot added the cla-signed label Oct 30, 2023
@jtibshirani jtibshirani marked this pull request as ready for review October 30, 2023 20:57
@jtibshirani jtibshirani requested review from keynmol and a team October 30, 2023 20:57
Copy link
Member

@keegancsmith keegancsmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I mostly just eyeballed the snasphot updates TBH.

@jtibshirani
Copy link
Member Author

Thanks for the review! I'll merge now but @keynmol @SuperAuguste I'm happy to address any comments in a follow-up.

@jtibshirani jtibshirani merged commit 1df495a into main Nov 1, 2023
10 checks passed
@jtibshirani jtibshirani deleted the jtibs/scip-ctags branch November 1, 2023 14:24
jtibshirani added a commit that referenced this pull request Nov 1, 2023
Improved ctags kind output for Kotlin:
* Split type into class, interface, object, and enum
* Split variable into enumMember, constant, and property
* Add type alias
keegancsmith pushed a commit that referenced this pull request Nov 2, 2023
* SCIP syntax: add more kinds for go ctags (#57806)

This change adds fine-grained kinds to the Go ctags output. Specific changes:
* Split `type` into `interface`, `struct`, and `typealias`
* Map struct members to `field` instead of `variable`

Universal ctags does not have a clear spec, and some languages use different
names for the same kind. So my strategy is not to match universal ctags
exactly, but just to capture the correct SCIP kinds. Clients need to handle the
fact that the kind names can be different.

* SCIP ctags: add kinds for C#, Python, Ruby (#57879)

Added more fine-grained kinds for C#, Python, and Ruby to better match the universal-ctags output.

Addresses https://github.com/sourcegraph/sourcegraph/issues/57659

* Add scip-ctags kinds for js, ts, and rust (#57899)

* SCIP ctags: use MethodSpec kind for Go (#57929)

Now that MethodSpec is available in SCIP, we can use it in the Go SCIP ctags
output.

* SCIP ctags: add kinds for Kotlin (#57998)

Improved ctags kind output for Kotlin:
* Split type into class, interface, object, and enum
* Split variable into enumMember, constant, and property
* Add type alias

* Fix snapshot tests by adding back trailing whitespace

Our precommit hook removes trailing whitespace, but the generated snapshots
include it.

---------

Co-authored-by: Auguste Rame <[email protected]>
vovakulikov pushed a commit that referenced this pull request Dec 12, 2023
Improved ctags kind output for Kotlin:
* Split type into class, interface, object, and enum
* Split variable into enumMember, constant, and property
* Add type alias
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants