forked from Botanical/BotanJS
Fixed w motion, added e motion
This commit is contained in:
parent
b0f72f1281
commit
36a2dfac79
@ -30,22 +30,60 @@
|
|||||||
var p = cur.aPos;
|
var p = cur.aPos;
|
||||||
|
|
||||||
|
|
||||||
var d = 1;
|
// Forword WORD start
|
||||||
// forward
|
|
||||||
if( e.kMap( "w" ) || e.kMap( "W" ) )
|
if( e.kMap( "w" ) || e.kMap( "W" ) )
|
||||||
{
|
{
|
||||||
if( feeder.content[ p + 1 ] == "\n" )
|
// +2 because there is a closing "\n"
|
||||||
|
if( feeder.content[ p + 2 ] == undefined )
|
||||||
{
|
{
|
||||||
p ++;
|
beep();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wordRange = analyzer.wordAt( p );
|
var wordRange = analyzer.wordAt( p );
|
||||||
if( wordRange.open != -1 )
|
if( wordRange.open != -1 )
|
||||||
{
|
{
|
||||||
p = wordRange.close + 1;
|
p = wordRange.close + 1;
|
||||||
|
|
||||||
|
while( " \t\n".indexOf( feeder.content[ p ] ) != -1 ) p ++;
|
||||||
|
|
||||||
|
if( feeder.content[ p ] == undefined )
|
||||||
|
{
|
||||||
|
// This is the last character
|
||||||
|
p --;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Backward
|
}
|
||||||
|
|
||||||
|
// Forward WORD end
|
||||||
|
if( e.kMap( "e" ) || e.kMap( "E" ) )
|
||||||
|
{
|
||||||
|
if( feeder.content[ p + 2 ] == undefined )
|
||||||
|
{
|
||||||
|
beep();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
p ++;
|
||||||
|
while( " \t\n".indexOf( feeder.content[ p ] ) != -1 ) p ++;
|
||||||
|
|
||||||
|
// This is the last character
|
||||||
|
if( feeder.content[ p ] == undefined )
|
||||||
|
{
|
||||||
|
p --;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var wordRange = analyzer.wordAt( p );
|
||||||
|
|
||||||
|
if( wordRange.open != -1 )
|
||||||
|
{
|
||||||
|
p = wordRange.close;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Backward WORD start
|
||||||
if( e.kMap( "b" ) || e.kMap( "B" ) )
|
if( e.kMap( "b" ) || e.kMap( "B" ) )
|
||||||
{
|
{
|
||||||
if( p == 0 )
|
if( p == 0 )
|
||||||
@ -54,21 +92,17 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
d = -1;
|
p --;
|
||||||
|
while( " \t".indexOf( feeder.content[ p ] ) != -1 ) p --;
|
||||||
while( " \t".indexOf( feeder.content[ p + d ] ) != -1 )
|
|
||||||
{
|
|
||||||
d --;
|
|
||||||
}
|
|
||||||
|
|
||||||
// No more results
|
// No more results
|
||||||
if( ( p + d ) == -1 )
|
if( p == -1 )
|
||||||
{
|
{
|
||||||
p = 0;
|
p = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var wordRange = analyzer.wordAt( p + d );
|
var wordRange = analyzer.wordAt( p );
|
||||||
if( wordRange.open != -1 )
|
if( wordRange.open != -1 )
|
||||||
{
|
{
|
||||||
p = wordRange.open;
|
p = wordRange.open;
|
||||||
|
@ -599,6 +599,8 @@
|
|||||||
case SHIFT + W:
|
case SHIFT + W:
|
||||||
case B:
|
case B:
|
||||||
case SHIFT + B:
|
case SHIFT + B:
|
||||||
|
case E:
|
||||||
|
case SHIFT + E:
|
||||||
ccur.openRunAction( "WORD", e );
|
ccur.openRunAction( "WORD", e );
|
||||||
break
|
break
|
||||||
|
|
||||||
@ -813,7 +815,7 @@
|
|||||||
this.__key = RMap( e );
|
this.__key = RMap( e );
|
||||||
this.__modKeys = 0;
|
this.__modKeys = 0;
|
||||||
this.__kCode = e;
|
this.__kCode = e;
|
||||||
this.__escape = this.__kCode == ESC || this.__kCode == ( CTRL + C );
|
this.__escape = this.__kCode == ESC || this.__kCode == ( CTRL + C ) || this.__key == ( CTRL + S_BRACKET_L );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -827,7 +829,7 @@
|
|||||||
|
|
||||||
var c = this.__e.keyCode;
|
var c = this.__e.keyCode;
|
||||||
|
|
||||||
this.__escape = c == ESC || ( e.ctrlKey && c == C );
|
this.__escape = c == ESC || ( e.ctrlKey && ( c == C || c == S_BRACKET_L ) );
|
||||||
this.__kCode = c
|
this.__kCode = c
|
||||||
+ ( e.shiftKey || e.getModifierState( "CapsLock" ) ? SHIFT : 0 )
|
+ ( e.shiftKey || e.getModifierState( "CapsLock" ) ? SHIFT : 0 )
|
||||||
+ ( e.ctrlKey ? CTRL : 0 )
|
+ ( e.ctrlKey ? CTRL : 0 )
|
||||||
|
Loading…
Reference in New Issue
Block a user