(cm, dir)
| 98 | } |
| 99 | |
| 100 | function moveSel(cm, dir) { |
| 101 | var newRanges = [], ranges = cm.listSelections(), primary = 0 |
| 102 | for (var i = 0; i < ranges.length; i++) { |
| 103 | var range = ranges[i] |
| 104 | if (range.head == cm.getCursor()) primary = i |
| 105 | var pos = {line: range.head.line, ch: range.head.ch + dir} |
| 106 | newRanges.push({anchor: pos, head: pos}) |
| 107 | } |
| 108 | cm.setSelections(newRanges, primary) |
| 109 | } |
| 110 | |
| 111 | function contractSelection(sel) { |
| 112 | var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0; |
no test coverage detected