This is a Sublime Text auto-complete package for use with Cucumber's Gherkin language. This package will catalog Gherkin step definitions from the *.feature
files of the selected directories and provide auto-complete suggestions based on the catalogued steps.
Auto-Complete
Fuzzy-searching steps
This package is only compatible with Sublime Text 3. It will not work on Sublime Text 2.
- Any folders open in Sublime Text will be searched recursively for
*.feature
files. You can specify additional directories via the package's settings file (Note: There is an option to use only these directories). - Step catalog is updated when the package loads or on the save of a
*.feature
file - This package relies on the first word of the line being a keyword (
Given
,When
,Then
) in order to give auto-complete suggestions. If a keyword is not found on the current line, the previous one will be used. - If the first word on a line is an asterisk (
*
), that step will show up under all other step types - It is not recommended that this is used alongside cucumber-sublime-bundle, as the bundled auto-complete will interfere with the results. At the moment, I've included the Gherkin syntax files so that this package can be self-contained. I have tried contacting the owner of that bundle, but he is not an easy man to reach.
The settings file for this package can be accessed from the toolbar via Preferences -> Package Settings -> Gherkin Auto-Complete Plus -> Settings - User
(Note: You can open Settings - Default
as a reference)
{
// A collection of ADDITIONAL directories containing the features files you would like to scan
// The directories listed here will be scanned IN ADDITION to the folder(s) open in Sublime Text
"feature_file_directories":
[
"path/to/feature/files/directory",
"some/path/to/different/feature/files/directory"
],
// When this is set to true, the open directories in Sublime Text will be ignored, and only
// the directories listed in the `feature_file_directories` option will be used
"ignore_open_directories": false,
// Logging for execution information -- this will output to the Sublime Text Console
// You can view the console by going to the toolbar and selecting `View -> Show Console`
// Valid options:
// DEBUG - Detailed information for debugging
// INFO - Confirmation that things are working as expected
// WARNING - An indication something might fail in the future
// ERROR - An error occurred, likely a recoverable one
// CRITICAL - A non-recoverable error -- execution will stop
"logging_level": "error"
}
Short answer: There were a lot of changes I wanted to make, and felt it warranted a new package.
Differences:
- The auto-complete suggestions will pop up as you type -- no need to open manually
- Pressing space does not automatically commit the highlighted suggestion, so it shouldn't interrupt your workflow
- Only gives suggestions for current step-type (if the line starts with
Given
, then onlyGiven
steps will be suggested) - Steps are formatted in snippet-notation to allow tabbing to values
- Table rows are not catalogued, which are unlikely to be duplicated exactly
- Values in between quotes (single and double), less- and greater-than signs, and numbers in 'integer' and 'decimal' format are ignored to remove duplicates from the step list
Absolutely, yes. It's intended to be tongue-in-cheek, but also I couldn't think of a better name. 😏
Automatic - via Package Control
Search for 'Gherkin Auto-Complete Plus'
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
git clone https://github.com/austincrft/sublime-gherkin-auto-complete-plus.git "Gherkin Auto-Complete Plus"
cd ~/.config/sublime-text-3/Installed\ Packages
git clone https://github.com/austincrft/sublime-gherkin-auto-complete-plus.git "Gherkin Auto-Complete Plus"
cd "C:\Users\<user>\AppData\Roaming\Sublime Text 3\Installed Packages"
git clone https://github.com/austincrft/sublime-gherkin-auto-complete-plus.git "Gherkin Auto-Complete Plus"
The accompanied *.tmLanguage
files were taken from @drewda's cucumber-sublime-bundle repository.