A VS Code extension that provides LSP functionality for Kaocha / Cucumber .feature files in Clojure projects.
Terminology
Gherk — a human-readable Gherkin step in a .feature file (Given / When / Then / And / But)
Cuke — the Clojure step definition that implements a Gherk
Features
Go to Definition — navigate from a Gherk step in a .feature file to the matching Clojure step definition
Find References — navigate from a Clojure step definition to all .feature file steps that match it
Diagnostics — warnings on Gherk steps that have no matching Clojure definition, and parse error reporting for malformed .feature files
Debounced updates — changes are processed after a 500 ms idle period to avoid unnecessary re-parsing while you type
Configuration
Setting
Type
Default
Description
picklj.cukeSrcInclude
string[]
["test/"]
Directories to search for Clojure step definitions
picklj.cukeSrcExclude
string
[]
Glob patterns to exclude from the search
Development
npm install # installs root, client, and server dependencies
npm run compile # build client and server
npm run watch # build in watch mode
npm run test # run tests with vitest
npm run lint # lint with Biome
npm run lint:fix # lint and auto-fix
npm run package # package as .vsix