code: function getLinePosition ( lines, char ) {
  	var line = 0;
  	var lineStart = 0;
  
  	var lineEnds = lines.map( function ( line ) {
  		lineStart += line.length + 1; // +1 for the newline
  		return lineStart;
  	});
  
  	lineStart = 0;
  
  	while ( char >= lineEnds[ line ] ) {
  		lineStart = lineEnds[ line ];
  		line += 1;
  	}
  
  	var column = char - lineStart;
  	return { line: line, column: column, char: char };
  }
docs: Finds the line and column position of character `char`
  in a (presumably) multi-line string
  @param {array} lines - an array of strings, each representing
  a line of the original string
  @param {number} char - the character index to convert
  @returns {object}
  @property {number} line - the zero-based line index
  @property {number} column - the zero-based column index
  @property {number} char - the character index that was passed in