You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cargo test -p lsp language::tests:: -- --nocapture --test-threads=1
cargo test -p ast testing::test_kotlin -- --nocapture --test-threads=1
PATH=/tmp/stakgraph-kls/server/bin:$PATH USE_LSP=true cargo test -p ast testing::test_kotlin -- --nocapture --test-threads=1
cargo test -p ast --lib -- --test-threads=1
PATH=/tmp/stakgraph-kls/server/bin:$PATH USE_LSP=true cargo test -p ast --lib -- --test-threads=1
Docker note
The current upstream base lsp/Dockerfile already installs kotlin-language-server and exposes the kotlin-language-server executable. This PR completes the remaining #123 wiring by enabling Kotlin in the USE_LSP=true path and adding mode-specific Kotlin fixture assertions that prove LSP captures extra cross-file call edges while the non-LSP path remains covered.
The follow-up fix scopes fixture node-count checks to files inside the fixture tree, so hosted Kotlin LSP external definitions no longer perturb the fixture assertions. PR is non-draft, mergeable, and CLEAN from the GitHub merge-state view.
Local validation also covered git diff --check, the Kotlin fixture in non-LSP and LSP modes, cargo test -p ast --lib -- --test-threads=1, and the LSP language tests.
Quick follow-up after the 2026-06-14 submission: this is still ready for review.
Current GitHub checks are all passing on head 109b0361, the PR is non-draft and mergeable, and issue #123 has the bounty claim plus BTC payout address recorded. Happy to make any maintainer-preferred adjustments if the Kotlin LSP fixture expectations differ from this approach.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #123
Summary
USE_LSP=trueselects the default LSP-backed fixture path.node_lsp/node_no_lsp,edge_lsp/edge_no_lsp, andabsent_lsp/absent_no_lsp.testing::test_kotlinso Kotlin runs through both graph backends in normal CI and through the Kotlin language server in LSP CI.PersonList -> PersonViewModel.updatePersonHomeViewModel.fetchUsers -> UserRepository.getUsersUSE_LSP=trueis used with a language that does not have an LSP executable configured.BTC payout address:
bc1qev5ant33v5y89qqjvcf4mh9hlax5svqf5xd7gcValidation
git diff --checkcargo test -p lsp language::tests:: -- --nocapture --test-threads=1cargo test -p ast testing::test_kotlin -- --nocapture --test-threads=1PATH=/tmp/stakgraph-kls/server/bin:$PATH USE_LSP=true cargo test -p ast testing::test_kotlin -- --nocapture --test-threads=1cargo test -p ast --lib -- --test-threads=1PATH=/tmp/stakgraph-kls/server/bin:$PATH USE_LSP=true cargo test -p ast --lib -- --test-threads=1Docker note
The current upstream base
lsp/Dockerfilealready installskotlin-language-serverand exposes thekotlin-language-serverexecutable. This PR completes the remaining #123 wiring by enabling Kotlin in theUSE_LSP=truepath and adding mode-specific Kotlin fixture assertions that prove LSP captures extra cross-file call edges while the non-LSP path remains covered.