(cm, pos)
| 7092 | return endOfLine(true, cm, line, lineN, -1) |
| 7093 | } |
| 7094 | function lineStartSmart(cm, pos) { |
| 7095 | var start = lineStart(cm, pos.line); |
| 7096 | var line = getLine(cm.doc, start.line); |
| 7097 | var order = getOrder(line, cm.doc.direction); |
| 7098 | if (!order || order[0].level == 0) { |
| 7099 | var firstNonWS = Math.max(start.ch, line.text.search(/\S/)); |
| 7100 | var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; |
| 7101 | return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky) |
| 7102 | } |
| 7103 | return start |
| 7104 | } |
| 7105 | |
| 7106 | // Run a handler that was bound to a key. |
| 7107 | function doHandleBinding(cm, bound, dropShift) { |
no test coverage detected