Fix wrong position of lines with tab character

This commit is contained in:
2016-03-16 18:55:18 +08:00
parent 5be04d850d
commit bc3c511c6f
13 changed files with 263 additions and 36 deletions

View File

@@ -0,0 +1,41 @@
(function(){
var ns = __namespace( "Components.Vim.State" );
var Recorder = function()
{
this.__steps = [];
this.__i = 0;
};
Recorder.prototype.undo = function()
{
var i = this.__i - 1;
if( i == -1 || !this.__steps.length ) return null;
return this.__steps[ this.__i = i ];
};
Recorder.prototype.redo = function()
{
var i = this.__i + 1;
if( i == -1 || !this.__steps.length ) return null;
var State = this.__steps[ i ];
if( State )
{
this.__i = i;
return State;
}
return null;
};
Recorder.prototype.record = function( StateObj )
{
this.__steps[ this.__i ] = StateObj;
delete this.__steps[ ++ this.__i ];
};
ns[ NS_EXPORT ]( EX_CLASS, "Recorder", Recorder );
})();

View File

@@ -0,0 +1,19 @@
(function(){
var ns = __namespace( "Components.Vim.State" );
var Stack = function()
{
};
Stack.prototype.store = function( handler )
{
this.__handler = handler;
};
Stack.prototype.play = function()
{
if( this.__handler ) this.__handler();
};
ns[ NS_EXPORT ]( EX_CLASS, "Stack", Stack );
})();