 	case Never = "never"
 	case Always = "always"
 	
+	/// Whether to color and format.
 	public var isColorful: Bool {
 		switch self {
 		case .Always:

import PrettyColors
import ReactiveCocoa

func wrap(colorful: Bool)(wrap: Color.Wrap)(string: String) -> String {
	return colorful ? wrap.wrap(string) : string
}

internal struct Terminal {
	static var term: String? {
		return getEnvironmentVariable("TERM").value()

	struct Formatting {
		let colorful: Bool
		
		/// Wraps or passes through a string.
		typealias Wrap = (string: String) -> String
		
		init(_ colorful: Bool) {
