@@ -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 ( / ^ .* \b a p l - ( \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