| 1414 | } |
| 1415 | function skipHidden(pos, oldLine, oldCh) { |
| 1416 | function getNonHidden(dir) { |
| 1417 | var lNo = pos.line + dir, end = dir == 1 ? doc.size : -1; |
| 1418 | while (lNo != end) { |
| 1419 | var line = getLine(lNo); |
| 1420 | if (!line.hidden) { |
| 1421 | var ch = pos.ch; |
| 1422 | if (toEnd || ch > oldCh || ch > line.text.length) ch = line.text.length; |
| 1423 | return {line: lNo, ch: ch}; |
| 1424 | } |
| 1425 | lNo += dir; |
| 1426 | } |
| 1427 | } |
| 1428 | var line = getLine(pos.line); |
| 1429 | var toEnd = pos.ch == line.text.length && pos.ch != oldCh; |
| 1430 | if (!line.hidden) return pos; |