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

                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)
                    }
                    

			 for snippet in snippets {
			 	switch snippet.snippetType {
			 		case .Constant, .Variable, .ClassToken, .EnumToken, .StructToken:
			 			comp += "{ \"trigger\": \"\(snippet.name) \\t \(snippet.description)\", \"contents\": \"\(snippet.name)\" },"
			 		case .InstanceMethod, .ClassMethod, .StaticMethod, .InitializationMethod:
			 			comp += "{ \"trigger\": \"\(snippet.name.removeGreaterThanLessThan())"
			 			comp += " \\t \(snippet.description)\" ,"
			 			comp += " \"contents\": \"\(snippet.name.removeGreaterThanLessThan().removeParenthesis())("
			 			if snippet.parameters.count == 0 {
							comp = comp + ")\" },"
						} else {
							for index in 1...snippet.parameters.count {
								let param = snippet.parameters[index-1]

								comp = comp + SublimeSnippet.paramSnippet(param, paramNum:index).removeGreaterThanLessThan()

								if index != snippet.parameters.count {
									if snippet.parameters.count != 1 {
										comp = comp + ", "
									} else {
										comp = comp + ")"
									}
								} else {
									comp = comp + ")\" },"
								}
							}
						}
			 	}
			 }
			 comp = String(comp.characters.dropLast()) //remove unnecessary comma
