 
 exports.But = createGWTab('  But: ', ['label', 'labelcolor', 'dark'])
 
-
+### End of GWTab ###
 ### Start of Spec/Describe ###
 
 createDescribe = (options)->

exports.Scenario = createScenario(['whitespace', 'label', 'style', 'pending'])


###
nestIt = (message, callback, color='green')->  # So nesting works inside of Its
	mocha.it message, callback  # Not using nesting, forgot what it does.
	#mocha.describe '◦'[color], ->
	#	mocha.it message, callback


describeIt = (message, callback)->
	# If it's not passed a message, it'll be describe.
	# Have to host it() in a describe() to line up with describes.

	mocha.describe '◦'[color], ->
		mocha.it message, callback
###

commandNest = (command, message, callback, options)->  # nest commands inside a Describe so mixed describe/its will line up on spec output.
	if 'label' in options
		label = '◦'
		if 'labelcolor' in options

				label = label.black
			else
				label = label.green
	return label



createGWTab = (label, options)->  # Creates Given, When, Then, and, but commands
	return (message, callback)->
		label = gwtLabel label, options
		itDescribe label, message, callback, options

gwtLabel = (label, options)->  # Returns pretty GWTab labels
	if 'label' in options
		if label && ('labelcolor' in options)
			if 'dark' in options
				label = label.grey
			else
				label = label.yellow
	else
		label = ''

	return label


