(file, pos)
| 620 | } |
| 621 | |
| 622 | function asLineChar(file, pos) { |
| 623 | if (!file) return {line: 0, ch: 0}; |
| 624 | var offsets = file.lineOffsets || (file.lineOffsets = [0]); |
| 625 | var text = file.text, line, lineStart; |
| 626 | for (var i = offsets.length - 1; i >= 0; --i) if (offsets[i] <= pos) { |
| 627 | line = i * offsetSkipLines; |
| 628 | lineStart = offsets[i]; |
| 629 | } |
| 630 | for (;;) { |
| 631 | var eol = text.indexOf("\n", lineStart); |
| 632 | if (eol >= pos || eol < 0) break; |
| 633 | lineStart = eol + 1; |
| 634 | ++line; |
| 635 | } |
| 636 | return {line: line, ch: charDistanceBetween(file, lineStart, pos)}; |
| 637 | } |
| 638 | |
| 639 | var outputPos = exports.outputPos = function(query, file, pos) { |
| 640 | if (query.lineCharPositions) { |
no test coverage detected
searching dependent graphs…