GithubHelp home page GithubHelp logo

micdahl / cucumber.el Goto Github PK

View Code? Open in Web Editor NEW

This project forked from michaelklishin/cucumber.el

0.0 2.0 0.0 135 KB

Emacs mode for editing Cucumber plain text stories

Home Page: None!

Ruby 13.83% Makefile 0.88% Emacs Lisp 74.89% Gherkin 10.40%

cucumber.el's Introduction

cucumber.el

Emacs mode for editing plain text user stories

Installation

Manual

Copy all the files to ~/.emacs.d/elisp/feature-mode, for example, and add this to your .emacs to load the mode

(add-to-list 'load-path "~/.emacs.d/elisp/feature-mode")

Package.el

feature-mode is available in both Marmalade and MELPA.

You can install it with the following command:

M-x package-install feature-mode

Optional configurations

Set default language if .feature doesn't have "# language: fi"

(setq feature-default-language "fi")

Point to cucumber languages.yml or gherkin i18n.yml to use exactly the same localization your cucumber uses

(setq feature-default-i18n-file "/path/to/gherkin/gem/i18n.yml")

Load feature-mode

(require 'feature-mode)
(add-to-list 'auto-mode-alist '("\.feature$" . feature-mode))

Point goto-step-definition capability to your step definitions

(setq feature-step-search-path "features/**/*steps.rb")
(setq feature-step-search-gems-path "gems/ruby/*/gems/*/**/*steps.rb")

The feature-step-search-gems-path variable points to where you have extra gems installed that have extra step definitions. For example, if you use bundler to install gems for your project and put them in a gems/ directory via:

bundle install --path ./gems

Key Bindings

In order to get goto-step-definition to work, you must install the ruby_parser gem (version 2.0.x) and gherkin (version 2.11.8). For example:

gem install ruby_parser --version "~> 2.0.5"
gem install gherkin --version 2.11.8
Keybinding Description
C-c ,v Verify all scenarios in the current buffer file.
C-c ,s Verify the scenario under the point in the current buffer.
C-c ,f Verify all features in project. (Available in feature and ruby files)
C-c ,r Repeat the last verification process.
C-c ,g Go to step-definition under point (requires ruby_parser gem >= 2.0.5)

Supported languages

At the moment, Cucumber.el supports whatever your Cucumber supports. Just configure it to load i18n.yml from your Gherkin gem sources.

Project Development / Maintenance

To run the tests in the source project, do the following:

gem install bundler
bundle
make test

You may have to use sudo to run the gem install command.

LICENSE

Copyright (C) 2008 โ€” 2016 Michael Klishin and other contributors

You can redistribute it and/or modify it under the terms of the GNU General Public License either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110.

cucumber.el's People

Contributors

michaelklishin avatar oggy avatar avsej avatar hron avatar mar-kolya avatar kaofelix avatar hardbap avatar timcharper avatar dustin avatar joahking avatar ldeck avatar toctan avatar david avatar deets avatar lazyatom avatar skumagai avatar terotil avatar jesg avatar antifuchs avatar gimbo avatar bitdeli-chef avatar dgtized avatar kelsin avatar csw avatar sub avatar sishen avatar dgutov avatar emadridm avatar gvol avatar jasonm23 avatar

Watchers

James Cloos avatar Michael Dahl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.