 // from http://stackoverflow.com/a/31480534/255489
 func pathToFolderContainingThisScript() -> String {
     let cwd = NSFileManager.defaultManager().currentDirectoryPath
-    
+
     let script = Process.arguments[0];
-    
+
     if script.hasPrefix("/") { // absolute
         let path = (script as NSString).stringByDeletingLastPathComponent
         return path
     }
     else { // relative
         let urlCwd = NSURL(fileURLWithPath: cwd)
-        
+
         if let urlPath = NSURL(string: script, relativeToURL: urlCwd) {
             if let path = urlPath.path {
                 let path = (path as NSString).stringByDeletingLastPathComponent

            camelCaseComponents[0] = camelCaseComponents[0].lowercaseString
        }
        return camelCaseComponents.joinWithSeparator("")
        
    }
    
    var methodName: String {
        return self.camelCaseName(initialLetterCapitalized: false)
    }
    
    var enumerationValueName: String {
        let camelCaseName = self.camelCaseName(initialLetterCapitalized: true)
        let fullName = "BONCharacter" + camelCaseName

    let characterName = theUnichar.unicodeName
    let methodName = characterName.methodName
    let enumerationName = characterName.enumerationValueName

    let hexValueString = NSString(format:"%.4X", theUnichar)
    let enumerationStatement = "    \(enumerationName) = 0x\(hexValueString),\n"
    headerEnumString += enumerationStatement

    if !charactersToExcludeFromHumanReadableStringDictionary.contains(theUnichar) {
        let dictionaryStatement = "        @(\(enumerationName)) : @\"{\(methodName)}\", \n"
        humanReadableDictionaryContent += dictionaryStatement
    }

    let methodPrototype = "+ (NSString *)\(methodName)"
    let methodInterface = methodPrototype + ";"

    let returnExpression: String

    if charactersRequiringFormatStrings.contains(theUnichar) {
        returnExpression = NSString(format:"return [NSString stringWithFormat:@\"%%C\", %@];", enumerationName) as String
    }
    else {
        returnExpression = NSString(format:"return @\"\\u%.4X\";", theUnichar) as String
    }

    let methodImplementation = "\(methodPrototype) { \(returnExpression as String) }"

    headerCodeString += (methodInterface + "\n")
    implementationCodeString += (methodImplementation + "\n")
}
