lukemelia / cucumber-tmbundle forked from bmabey/cucumber-tmbundle

TextMate bundle for Cucumber - fork of RSpec Story Runner bundle

This URL has Read+Write access

README
Textmate Bundle for Cucumber

This is a fork of the rspec-story-tm-bundle (http://github.com/bmabey/rspec-story-tmbundle).
The goal is to keep the same functionality that the original bundle had but make it compatible with Cucumber and also 
take advantage of the benefits that Cucumber offers.

How to install:
mkdir -p ~/Library/Application\ Support/TextMate/Bundles/
cd ~/Library/Application\ Support/TextMate/Bundles
git clone git://github.com/bmabey/cucumber-tmbundle.git Cucumber.tmbundle
In TextMate:
From your drop down menu, select Bundles -> Bundle Editor -> Reload Bundles

Update your bundle by running the "Update Cucumber Bundle" command.

WARNING: To avoid file detection collisions with the RSpec Story bundle I would suggest you turn it off when using the 
Cucumber bundle and vice-versa. You can do this by clicking on the 'Filter List' button in the Bundle Editor section of 
Textmate.

If you are doing ruby development with webrat you may also want the webrat bundle:
http://github.com/bmabey/webrat-tmbundle/

So far the basic file switching and syntax highlighting is working.  You can also run a feature. (See below.)
File creation and more advanced step generation commands have not yet been ported fully.  Feel free to help out. :)

When running a feature the bundle by default assumes your project has a "features" rake task which it runs.
If you have a feature which does not use that rake task you can declare which one it uses in the feature file.
For example, if you have some features that use a features:watir task at the top of those features simply add to you 
plaintext feature file:
# rake features:watir

The bundle will then use that rake task to run the feature.

Features:
  * Color highlighting for plain text features
  * Themes that have been modified to take advantage of this can be found in color_themes/
  * Snippets for plain text features and step files.
  * Predefined completions (escape key) for common feature keywords.
  * Spellchecking turned on by default for the plain text features.
  * Switch between plain text feature and corresponding step matcher file.
  * Run a feature with HTML output.
  * Run a single scenario with HTML output. (The output seems to need some tweaking.)

TODO:
  * Automatically create template step file with pending steps based on the steps used in the feature.
  * Add a Textmate formatter with a clickable backtrace.
  
  

The running of features and file switching relies on the following directory structure convention:
     Basic features (no sub-directories):
     
       /project_root/features
          |- basic_feature.feature (extension must be .feature)
          |- steps
              |- basic_feature_steps.rb
              |- env.rb
     
     Using feature sub-directories:
     
       /project_root/features
         |- feature_one
         |   |- some_feature.feature
         |   |- steps
         |       |- some_feature_steps.rb
         |
         |- feature_two
         | .....
    
    These directory structures can be used together (basic features can reside in the root features directory, and 
    feature sets can be put in sub directories).