mirror of https://github.com/lukechilds/rollup.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
462 B
21 lines
462 B
10 years ago
|
module.exports = function getLocation ( source, charIndex ) {
|
||
|
var lines = source.split( '\n' );
|
||
|
var len = lines.length;
|
||
|
|
||
|
var lineStart = 0;
|
||
|
var i;
|
||
|
|
||
|
for ( i = 0; i < len; i += 1 ) {
|
||
|
var line = lines[i];
|
||
|
var lineEnd = lineStart + line.length + 1; // +1 for newline
|
||
|
|
||
|
if ( lineEnd > charIndex ) {
|
||
|
return { line: i + 1, column: charIndex - lineStart };
|
||
|
}
|
||
|
|
||
|
lineStart = lineEnd;
|
||
|
}
|
||
|
|
||
|
throw new Error( 'Could not determine location of character' );
|
||
|
}
|