 	}
 
 	func escapeGreaterThanLessThan() -> String {
-		return self.stringByReplacingOccurrencesOfString("<", withString:"\\<").stringByReplacingOccurrencesOfString(">", withString:"\\>")
+		return self.stringByReplacingOccurrencesOfString("<", withString:"\\\\<").stringByReplacingOccurrencesOfString(">", withString:"\\\\>")
+	}
+
+	func removeGreaterThanLessThan() -> String {
+		return "\(self.stringByReplacingOccurrencesOfString("<", withString: "").stringByReplacingOccurrencesOfString(">", withString: "")))"
 	}
 
 	public func removeUnsafeSublimeTextCharacters() -> String {

                let blocks = fileTxt.parsePrimaryCodeBlocks()
                for (name, code) in blocks {
                	for token in fileTxt.classTokens() {
                		let snip = Snippet(name:token, description:token, paramaters:[], snippetType:.ClassToken)
              			snippets.append(snip)
                    }
                    
                    for token in fileTxt.enumTokens() {
                        let snip = Snippet(name:token, description:token, paramaters:[], snippetType:.EnumToken)
              			snippets.append(snip)
                    }

                    for token in fileTxt.structTokens() {
                        let snip = Snippet(name:token, description:token, paramaters:[], snippetType:.StructToken)
              			snippets.append(snip)
                    }

                    for (key, value) in fileTxt.variableTokens() {
                        let snip = Snippet(name:key, description:value, paramaters:[], snippetType:.Variable)
              			snippets.append(snip)
                    }

                    for (key, value) in fileTxt.constantTokens() {
                        let snip = Snippet(name:key, description:value, paramaters:[], snippetType:.Constant)
              			snippets.append(snip)
                    }

                    for funcData:FuncData in code.memberFuncParserTokens() {

                    	let snip = Snippet(name:funcData.name, description:"func \(name) -> \(funcData.returnType)", paramaters:funcData.params, snippetType:.InstanceMethod)
              			snippets.append(snip)         
                    }

                    for funcData:FuncData in code.classFuncTokens() {
                    	let snip = Snippet(name:funcData.name, description:"class \(name) -> \(funcData.returnType)", paramaters:funcData.params, snippetType:.ClassMethod)
              			snippets.append(snip)          
                    }

                    for funcData:FuncData in code.staticFuncTokens() {
                    	let snip = Snippet(name:funcData.name, description:"static \(name) -> \(funcData.returnType)", paramaters:funcData.params, snippetType:.StaticMethod)
              			snippets.append(snip)          
                    }

                    for funcData:FuncData in code.initializerTokens() {
                        let descriptionIdentifier = funcData.params.map({param in "\(SublimeSnippet.harvestParamExternalName(param, isFirstParam:false))"}).joinWithSeparator(" ")
                        let snip = Snippet(name:funcData.name, description:descriptionIdentifier, paramaters:funcData.params, snippetType:.StaticMethod)
              			snippets.append(snip)
                    }
                    

struct Snippet {
	let name:String
	let description:String
	let parameters:[String]
	let snippetType:SnippetType
}

