Skip to content

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

Closed
marton78 wants to merge 2 commits into
alistairstead:mainfrom
marton78:main
Closed

feat: native Kotlin step definition support via language-server fork#3
marton78 wants to merge 2 commits into
alistairstead:mainfrom
marton78:main

Conversation

@marton78

Copy link
Copy Markdown

Summary

  • Installs the language server from marton78/language-server#kotlin-support (pending upstream merge), which adds native Kotlin/Scala glue file support and two bug fixes
  • Removes the runtime .kt monkey-patch that was previously required; the server now handles Kotlin natively
  • Removes version-check logic; the branch ref pins the version

Note on installation: Zed's npm_install_package treats / as a path separator so GitHub shorthand specs cannot be used directly. The fork is expected to be installed globally by the user; the extension locates it via worktree.which(). The npm registry package remains the fallback for users without a global install.

Dependency chain

This PR is the final piece of a three-repo chain:

  1. cucumber/language-service #304 — Kotlin tree-sitter parsing
  2. cucumber/language-server #140 — glue file discovery + bug fixes
  3. This PR — Zed extension wiring

Once PRs #304 and #140 merge and a new @cucumber/language-server version is published, the package.json reference in this extension can be updated to point at the official npm release.

Test plan

  • Extension installs and launches without errors
  • Kotlin step definitions are recognized and navigable
  • Go-to-definition works for Kotlin steps
  • Fallback to npm registry works for users without a global install

🤖 Generated with Claude Code

marton78 and others added 2 commits June 23, 2026 19:50
- Install from github:marton78/language-server#kotlin-support instead
  of the npm registry; the fork adds proper Kotlin step definition
  and @ParameterType parsing via tree-sitter-kotlin
- Remove the runtime .kt patch (no longer needed; the fork handles it)
- Remove version-check logic; GitHub installs are pinned by branch ref

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Zed's npm_install_package treats '/' as a path separator so GitHub
shorthand specs cannot be used. The fork is installed globally by the
user; the extension finds it via worktree.which(). The npm registry
package remains the fallback for users without a global install.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@marton78

Copy link
Copy Markdown
Author

Opened against wrong repo — should target thlcodes/zed-extension-cucumber instead.

@marton78 marton78 closed this Jun 24, 2026
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.

1 participant