penguin/AstroJS

Javascript framework for my blog

commit ddc7058964684cd45a0339fabbf891bf49914933

author斟酌 鵬兄 <tgckpg@gmail.com>
date2016-03-31T21:22:02Z
subjectcalculate document position
commit ddc7058964684cd45a0339fabbf891bf49914933
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2016-03-31T21:22:02Z

    calculate document position
---
 botanjs/src/Components/Vim/Actions/VISUAL.js |  8 ++++----
 botanjs/src/Components/Vim/Cursor.js         |  2 +-
 botanjs/src/Components/Vim/LineFeeder.js     | 11 +++++++++--
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/botanjs/src/Components/Vim/Actions/VISUAL.js b/botanjs/src/Components/Vim/Actions/VISUAL.js
index 060cdbf..6d32caa 100644
--- a/botanjs/src/Components/Vim/Actions/VISUAL.js
+++ b/botanjs/src/Components/Vim/Actions/VISUAL.js
@@ -16,7 +16,6 @@
 	{
 		this.__reset( Cursor );
 		this.__msg = Mesg( "VISUAL" );
-		this.__leaveMesg = "";
 
 		Cursor.blink = false;
 		Cursor.pSpace = true;
@@ -35,7 +34,6 @@
 
 	VISUAL.prototype.dispose = function()
 	{
-		this.__msg = this.__leaveMesg;
 		var c = this.__cursor;
 
 		c.blink = true;
@@ -45,10 +43,12 @@
 
 		// This fix the highlighting position of missing phantomSpace
 		// for maximum filled line
-		if( c.feeder.wrap )
+		if( c.feeder.wrap && 0 < c.X )
 		{
+			c.suppressEvent();
 			c.moveX( -1 );
 			c.moveX( 1 );
+			c.unsuppressEvent();
 		}
 	};
 
@@ -92,7 +92,7 @@
 				cur.moveTo( this.__startaP );
 			}
 
-			this.__leaveMesg = Action.getMessage();
+			this.__msg = Action.getMessage();
 
 			Action.dispose();
 			cur.unsuppressEvent();
diff --git a/botanjs/src/Components/Vim/Cursor.js b/botanjs/src/Components/Vim/Cursor.js
index 07e07b4..be80a42 100644
--- a/botanjs/src/Components/Vim/Cursor.js
+++ b/botanjs/src/Components/Vim/Cursor.js
@@ -387,7 +387,7 @@
 		this.__pulseMsg = this.action.getMessage();
 		this.action = null;
 
-		debug.Info( "closeAction" );
+		debug.Info( "closeAction: " + this.__pulseMsg );
 
 		// Reset the analyzed content
 		this.Vim.contentAnalyzer.reset();
diff --git a/botanjs/src/Components/Vim/LineFeeder.js b/botanjs/src/Components/Vim/LineFeeder.js
index 1385ee8..2ead9a0 100644
--- a/botanjs/src/Components/Vim/LineFeeder.js
+++ b/botanjs/src/Components/Vim/LineFeeder.js
@@ -226,9 +226,16 @@
 	__readOnly( Feeder.prototype, "docPos", function() {
 		var pos = "ALL";
 
-		if( 0 < this.panY &&  this.EOF )
+		if( 0 < this.panY )
 		{
-			pos = "BOTTOM";
+			if( this.EOF )
+			{
+				pos = "BOTTOM";
+			}
+			else
+			{
+				pos = Math.floor( ( this.panY / ( this.linesTotal - ( this.__rows - 1 ) ) ) * 100 ) + "%";
+			}
 		}
 		else
 		{