(cm, lineN)
| 8372 | } |
| 8373 | |
| 8374 | function lineStart(cm, lineN) { |
| 8375 | var line = getLine(cm.doc, lineN); |
| 8376 | var visual = visualLine(line); |
| 8377 | if (visual != line) lineN = lineNo(visual); |
| 8378 | var order = getOrder(visual); |
| 8379 | var ch = !order ? 0 : order[0].level % 2 ? lineRight(visual) : lineLeft(visual); |
| 8380 | return Pos(lineN, ch); |
| 8381 | } |
| 8382 | function lineEnd(cm, lineN) { |
| 8383 | var merged, line = getLine(cm.doc, lineN); |
| 8384 | while (merged = collapsedSpanAtEnd(line)) { |