Skip to content

feat: native Kotlin step definition support via language-server fork#13

Open
marton78 wants to merge 5 commits into
thlcodes:mainfrom
marton78:main
Open

feat: native Kotlin step definition support via language-server fork#13
marton78 wants to merge 5 commits into
thlcodes:mainfrom
marton78:main

Conversation

@marton78

@marton78 marton78 commented Jun 24, 2026

Copy link
Copy Markdown

Summary

Switch the language server package from @cucumber/language-server to @marton78/cucumber-language-server, a fork that adds Kotlin/Scala support and two bug fixes while the upstream PRs are pending review.

The only code change is two constants — SERVER_PATH and PACKAGE_NAME.

What the fork adds

  • Kotlin/Scala step definitions: .kt, .kts, and .scala files are discovered and parsed as glue files
  • Reindex crash fix: null/malformed DidChangeConfiguration settings (as sent by Zed) no longer crash the server
  • wasmBasePath fix: resolves correctly when @cucumber/language-service is hoisted by npm

Dependency chain

  1. cucumber/language-service #304 — Kotlin tree-sitter parsing
  2. cucumber/language-server #140 — glue file discovery + bug fixes
  3. This PR — points the extension at the fork while #304 and #140 are pending

Once #304 and #140 merge and a new official @cucumber/language-server is published, the two constants revert to @cucumber/language-server.

Test plan

  • Extension installs and launches without errors
  • Kotlin step definitions are recognized and navigable
  • Go-to-definition works for Kotlin steps
  • Scala step definitions are recognized

🤖 Generated with Claude Code

alistairstead and others added 4 commits February 23, 2026 20:14
Bump extension version and switch tree-sitter grammar to alistairstead
fork
Update README with npm install instructions and note about global layout
Merge LSP settings into top-level config to support both push and pull
Update highlights, indents, injections and outline to match grammar
- bump grammar commit for step_quoted_string node support
- add step_quoted_string, step_context, description, data_table highlights
- add step groups, data_table, doc_string to indent nodes
- add examples_definition to outline
@marton78 marton78 force-pushed the main branch 2 times, most recently from f665363 to 66f5665 Compare June 27, 2026 11:53
Adds Kotlin and Scala glue file support by installing the
@marton78/cucumber-language-server fork, which includes:
- Kotlin/Scala step definition and @ParameterType parsing
- Fix: reindex crash on null/malformed DidChangeConfiguration settings
- Fix: wasmBasePath resolution when @cucumber/language-service is hoisted

worktree.which() takes precedence for users with a global install.
The npm fallback installs automatically for everyone else.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
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