fixed iterating over template lines on linux

This commit is contained in:
Ilya Puchka
2017-10-08 01:53:41 +02:00
parent 97ab3cf31d
commit 5878c323a2
3 changed files with 9 additions and 7 deletions

View File

@@ -1,3 +1,5 @@
import Foundation
struct Lexer {
let templateString: String
@@ -58,16 +60,17 @@ struct Lexer {
var lineNumber: Int = 0
var offset = 0
var lineContent = ""
templateString.enumerateLines { (line, stop) in
for line in templateString.components(separatedBy: CharacterSet.newlines) {
lineNumber += 1
lineContent = line
if let rangeOfLine = self.templateString.range(of: line), rangeOfLine.contains(lexeme.range.lowerBound) {
offset = self.templateString.distance(from: rangeOfLine.lowerBound, to:
if let rangeOfLine = templateString.range(of: line), rangeOfLine.contains(lexeme.range.lowerBound) {
offset = templateString.distance(from: rangeOfLine.lowerBound, to:
lexeme.range.lowerBound)
stop = true
break
}
}
return (lineContent, lineNumber, offset)
}