 		"~": ["~=", "~~>"],
 		"%": ["%=", "%"],
 		"^": ["^="],
-		"&": ["&&=", "&&", "&=", "&+", "&-", "&*", "&/", "&%"],
+		"&": ["&&=", "&&&", "&&", "&=", "&+", "&-", "&*", "&/", "&%"],
 		"<": ["<<<", "<<=", "<<", "<=", "<~~", "<~", "<--", "<-<", "<-", "<^>", "<|>", "<*>", "<||?", "<||", "<|?", "<|", "<"],
 		">": [">>>", ">>=", ">>-", ">>", ">=", ">->", ">"],
 		"|": ["|||", "||=", "||", "|=", "|"],

				return
			}

			let target = getPosition(cursor, now: retString.endIndex)
			if range.startIndex == range.endIndex {
				checkCursor = nil
				range.endIndex = target

		return (retString, retString.nsRangeFromRange(range))
	}

	func getPosition(start: String.Index) -> String.Index {
		var cursor = start // range position
		var diff = 0

		while strIndex > cursor {
