Skip to content

Commit 0c07cd2

Browse files
committed
a few fixes in impl of Expand Selection
1 parent c61d032 commit 0c07cd2

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

client/keymap.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,24 @@ $.extend(CodeMirror.commands,{
5252
},
5353
EXP:function(cm){
5454
var sels=cm.listSelections()
55-
if(sels.length!==1){
56-
var ll=cm.lastLine(),u=cm.getCursor(),l=u.line
55+
if(sels.length===1){
56+
var ll=cm.lastLine(), u=cm.getCursor(), l=u.line
5757
function cmp(x,y){return(x[0]-y[0])||(x[1]-y[1])} // compare two pairs of numbers
5858
var ranges=[ // candidates for selection
59-
[[l,0],[l, cm.getLine(l) .length]] // current line
60-
[[0,0],[ll,cm.getLine(ll).length]] // whole document
59+
[[l,0],[l, cm.getLine(l) .length]], // current line
60+
[[0,0],[ll,cm.getLine(ll).length]] // whole document
6161
]
62-
var t0=cm.getTokenAt(u),t1=cm.getTokenAt({line:u.line,ch:u.ch+1}),t=t0||t1
62+
var t0=cm.getTokenAt(u), t1=cm.getTokenAt({line:u.line,ch:u.ch+1}), t=t0||t1
6363
if(t0&&t1&&(t0.start!==t1.start||t0.end!==t1.end)){ // we must decide which token looks more important
6464
var lr=[t0,t1].map(function(ti){return(ti.type||'').replace(/^.*\bapl-(\w*)$/,'$1')}) // lft and rgt token type
6565
var I={'var':5,glb:5, quad:4, str:3, num:2, kw:1, par:-1,sqbr:-1,semi:-1,dfn:-1, '':-2} // importance table
6666
t=(I[lr[0]]||0)>(I[lr[1]]||0)?t0:t1 // t is the more important of t0 t1
6767
}
68-
t&&ranges.push[[l,t.start],[l,t.end]] // current token
68+
t&&ranges.push([[l,t.start],[l,t.end]]) // current token
6969
ranges.sort(function(x,y){return cmp(y[0],x[0])||cmp(x[1],y[1])}) // inside-out order: desc beginnings, then asc ends
70-
var sel=sels[0],s=[[sel.anchor.line,sel.anchor.ch],[sel.head.line,sel.head.ch]].sort(cmp)
70+
var sel=sels[0], s=[[sel.anchor.line,sel.anchor.ch],[sel.head.line,sel.head.ch]].sort(cmp), Pos=CodeMirror.Pos
7171
for(var i=0;i<ranges.length;i++){
72-
var r=ranges[i],d0=cmp(r[0],s[0]),d1=cmp(r[1],s[1]),Pos=CodeMirror.Pos
72+
var r=ranges[i], d0=cmp(r[0],s[0]), d1=cmp(r[1],s[1])
7373
if(d0<=0&&0<=d1&&(d0||d1)){cm.setSelection(Pos(r[0][0],r[0][1]),Pos(r[1][0],r[1][1]));break}
7474
}
7575
}

0 commit comments

Comments
 (0)