commit 4311ff3a6eed629ce081c020d2598e2107059220
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2017-03-20T04:47:02Z |
| subject | Draft Actions MARK |
commit 4311ff3a6eed629ce081c020d2598e2107059220
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2017-03-20T04:47:02Z
Draft Actions MARK
---
botanjs/src/Components/Vim/Actions/MARK.js | 45 ++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/botanjs/src/Components/Vim/Actions/MARK.js b/botanjs/src/Components/Vim/Actions/MARK.js
new file mode 100644
index 0000000..1c0e0dd
--- /dev/null
+++ b/botanjs/src/Components/Vim/Actions/MARK.js
@@ -0,0 +1,45 @@
+(function(){
+ var ns = __namespace( "Components.Vim.Actions" );
+
+ /** @type {System.Debug} */
+ var debug = __import( "System.Debug" );
+
+ var beep = __import( "Components.Vim.Beep" );
+
+ /** @type {Components.Vim.IAction} */
+ var MARK = function( Cursor )
+ {
+ /** @type {Components.Vim.Cursor} */
+ this.__cursor = Cursor;
+ this.__msg = "";
+ };
+
+ MARK.prototype.dispose = function() { };
+
+ MARK.prototype.handler = function( e, cmd )
+ {
+ e.preventDefault();
+
+ /** @type {Components.Vim.State.Marks} */
+ var marks = e.target.marks;
+
+ var ccur = this.__cursor;
+ if( cmd && cmd[0] )
+ {
+ marks.set( cmd.join( "" ).trim(), ccur.getLine().lineNum, ccur.aX );
+ }
+ else
+ {
+ marks.set( e.key, ccur.getLine().lineNum, ccur.aX );
+ }
+
+ return true;
+ };
+
+ MARK.prototype.getMessage = function()
+ {
+ return this.__msg;
+ };
+
+ ns[ NS_EXPORT ]( EX_CLASS, "MARK", MARK );
+})();