{"id":28149085,"url":"https://github.com/freesteph/cucumber.el","last_synced_at":"2025-05-15T01:17:20.444Z","repository":{"id":1593227,"uuid":"90978","full_name":"freesteph/cucumber.el","owner":"freesteph","description":"Emacs mode for editing Cucumber plain text stories","archived":false,"fork":false,"pushed_at":"2025-04-01T10:09:39.000Z","size":234,"stargazers_count":255,"open_issues_count":0,"forks_count":89,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-13T17:14:38.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"None!","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freesteph.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/find_step.rb","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2008-12-15T21:03:55.000Z","updated_at":"2025-05-13T07:56:21.000Z","dependencies_parsed_at":"2024-01-18T09:04:30.983Z","dependency_job_id":"2d392524-e1d9-4689-bbda-03ea197eff61","html_url":"https://github.com/freesteph/cucumber.el","commit_stats":{"total_commits":170,"total_committers":62,"mean_commits":"2.7419354838709675","dds":0.9058823529411765,"last_synced_commit":"48344c9c183fc64f9322fa14801dd54544b97270"},"previous_names":["freesteph/cucumber.el"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freesteph%2Fcucumber.el","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freesteph%2Fcucumber.el/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freesteph%2Fcucumber.el/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freesteph%2Fcucumber.el/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freesteph","download_url":"https://codeload.github.com/freesteph/cucumber.el/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254253919,"owners_count":22039792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-15T01:15:48.066Z","updated_at":"2025-05-15T01:17:20.438Z","avatar_url":"https://github.com/freesteph.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# cucumber.el\n\nEmacs mode for editing plain text user stories\n\n## Installation\n\n### Manual\n\nCopy all the files to ~/.emacs.d/elisp/feature-mode, for example,\nand add this to your .emacs to load the mode\n\n```lisp\n(add-to-list 'load-path \"~/.emacs.d/elisp/feature-mode\")\n```\n\n### Package.el\n\n`feature-mode` is available in both [Marmalade](http://marmalade-repo.org)\nand [MELPA](http://melpa.milkbox.net).\n\nYou can install it with the following command:\n\n```\nM-x package-install feature-mode\n```\n\n\n### Optional configurations\n\nSet default language if .feature doesn't have \"# language: fi\"\n```lisp\n(setq feature-default-language \"fi\")\n```\n\nA copy of [the Gherkin\ntranslations](https://github.com/cucumber/gherkin/blob/main/gherkin-languages.json)\nis shipped with the repo to figure out translations. Should you need\nto override it:\n\n```lisp\n(setq feature-i18n-file \"/path/to/gherkin/gem/gherkin-translations.json\")\n```\n\nLoad feature-mode\n```lisp\n(require 'feature-mode)\n(add-to-list 'auto-mode-alist '(\"\\.feature$\" . feature-mode))\n```\n\nPoint goto-step-definition capability to your step definitions\n```lisp\n(setq feature-step-search-path \"features/**/*steps.rb\")\n(setq feature-step-search-gems-path \"gems/ruby/*/gems/*/**/*steps.rb\")\n```\n\nThe `feature-step-search-gems-path` variable points to where you have extra\ngems installed that have extra step definitions. For example, if you use\n[bundler](https://github.com/bundler/bundler) to install gems for your\nproject and put them in a `gems/` directory via:\n```shell\nbundle install --path ./gems\n```\n\n## Key Bindings\n\nIn order to get goto-step-definition to work, you must install the ruby_parser gem and cucumber-gherkin:\n\n```\ngem install ruby_parser\ngem install cucumber-gherkin\n```\n\nKeybinding          | Description\n--------------------|------------------------------------------------------------\n\u003ckbd\u003eC-c ,v\u003c/kbd\u003e   | Verify all scenarios in the current buffer file.\n\u003ckbd\u003eC-c ,s\u003c/kbd\u003e   | Verify the scenario under the point in the current buffer.\n\u003ckbd\u003eC-c ,f\u003c/kbd\u003e   | Verify all features in project. (Available in feature and ruby files)\n\u003ckbd\u003eC-c ,r\u003c/kbd\u003e   | Repeat the last verification process.\n\u003ckbd\u003eC-c ,g\u003c/kbd\u003e   | Go to step-definition under point (requires ruby_parser gem \u003e= 3.14.2)\n\n## Supported languages\n\nAt the moment, Cucumber.el supports whatever your Cucumber\nsupports. If guesses the language based on the `# language: \u003clanguage code\u003e`\ndirective at the top of the spec.\n\n## Support for docker-compose\n\nIf the project path contains a docker-compose.yml file, Cucumber is executed through docker-compose.\n\nThe following variables can be set to change the behavior related too this:\n\nVariable                           |  Type   | Description\n-----------------------------------|---------|-------------------------------------------\n`feature-use-docker-compose`       | boolean | Use docker-compose when available\n`feature-docker-compose-command`   | string  | The docker-compose command to execute\n`feature-docker-compose-container` | string  | Name of the container to start Cucumber in\n\n## Project Development / Maintenance\n\nTo run the tests in the source project, you can use the `make test`\ncommand. If possible please use the Docker setup provided:\n\n```sh\ndocker compose build\nmake sh # drops into a shell within the container\nmake test\n```\n\n## LICENSE\n\nCopyright (C) 2008 — 2025 Michael Klishin and other contributors\n\nYou can redistribute it and/or modify it under the terms of the GNU\nGeneral Public License either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful,\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE. See the GNU General Public License for more\ndetails.\n\nYou should have received a copy of the GNU General Public License if\nnot, write to the Free Software Foundation, Inc., 51 Franklin Street,\nSuite 500, Boston, MA 02110.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreesteph%2Fcucumber.el","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreesteph%2Fcucumber.el","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreesteph%2Fcucumber.el/lists"}