coffee-lex
Advanced tools
Comparing version 7.0.1 to 7.0.2
@@ -5,2 +5,3 @@ "use strict"; | ||
var PaddingTracker_1 = require("./PaddingTracker"); | ||
var isNewlineEscaped_1 = require("./isNewlineEscaped"); | ||
/** | ||
@@ -46,3 +47,3 @@ * Compute the whitespace to remove in a multiline single or double quoted | ||
var endIndex = pos; | ||
if (isNewlineEscaped(content, newlinePos)) { | ||
if (isNewlineEscaped_1["default"](content, newlinePos)) { | ||
// Escaped newlines behave a bit strangely: whitespace is removed from | ||
@@ -81,23 +82,1 @@ // the right side but not the left side, and the newline and its | ||
exports["default"] = calculateNormalStringPadding; | ||
/** | ||
* A newline character is escaped if it's preceded by an odd number of | ||
* backslashes. Spaces are allowed between the backslashes and the newline. | ||
*/ | ||
function isNewlineEscaped(content, newlinePos) { | ||
var numSeenBackslashes = 0; | ||
var prevPos = newlinePos - 1; | ||
while (prevPos >= 0) { | ||
var char = content[prevPos]; | ||
if (numSeenBackslashes === 0 && (char === ' ' || char === '\t')) { | ||
prevPos--; | ||
} | ||
else if (char === '\\') { | ||
numSeenBackslashes++; | ||
prevPos--; | ||
} | ||
else { | ||
break; | ||
} | ||
} | ||
return numSeenBackslashes % 2 === 1; | ||
} |
"use strict"; | ||
exports.__esModule = true; | ||
var SourceType_1 = require("../SourceType"); | ||
var isNewlineEscaped_1 = require("./isNewlineEscaped"); | ||
var PaddingTracker_1 = require("./PaddingTracker"); | ||
@@ -60,2 +61,6 @@ /** | ||
for (var i = 0; i < fragment.content.length; i++) { | ||
if (fragment.content[i] === '\n' && isNewlineEscaped_1["default"](fragment.content, i)) { | ||
var backslashPos = fragment.content.lastIndexOf('\\', i); | ||
fragment.markPadding(backslashPos, i + 1); | ||
} | ||
var isStartOfLine = i > 0 && fragment.content[i - 1] === '\n'; | ||
@@ -62,0 +67,0 @@ var isStartOfString = fragment.index === 0 && i === 0; |
@@ -41,4 +41,4 @@ { | ||
"semantic-release": "^6.3.5", | ||
"ts-node": "^2.0.0", | ||
"tslint": "^4.0.2", | ||
"ts-node": "^3.0.0", | ||
"tslint": "^5.0.0", | ||
"typescript": "^2.1.4" | ||
@@ -49,3 +49,3 @@ }, | ||
}, | ||
"version": "7.0.1" | ||
"version": "7.0.2" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
156891
39
3639