protected void Create(params string[] lines) { _vimHost = (MockVimHost)Vim.VimHost; _textView = CreateTextView(lines); _textBuffer = _textView.TextBuffer; _vimTextBuffer = CreateVimTextBufferCore(_textBuffer); _localSettings = _vimTextBuffer.LocalSettings; var foldManager = CreateFoldManager(_textView); _factory = new MockRepository(MockBehavior.Loose); _statusUtil = _factory.Create<IStatusUtil>(); _bulkOperations = new TestableBulkOperations(); var vimBufferData = CreateVimBufferData( _vimTextBuffer, _textView, statusUtil: _statusUtil.Object); _jumpList = vimBufferData.JumpList; _windowSettings = vimBufferData.WindowSettings; _vimData = Vim.VimData; _macroRecorder = Vim.MacroRecorder; _globalSettings = Vim.GlobalSettings; var operations = CreateCommonOperations(vimBufferData); var lineChangeTracker = new LineChangeTracker(vimBufferData); _motionUtil = new MotionUtil(vimBufferData, operations); _commandUtil = new CommandUtil( vimBufferData, _motionUtil, operations, foldManager, new InsertUtil(vimBufferData, _motionUtil, operations), _bulkOperations, MouseDevice, lineChangeTracker); var outliningManagerService = CompositionContainer.GetExportedValue<IOutliningManagerService>(); _outliningManager = outliningManagerService.GetOutliningManager(_textView); }
internal CommandUtil CreateCommandUtil( IVimBufferData vimBufferData, IMotionUtil motionUtil = null, ICommonOperations operations = null, IFoldManager foldManager = null, InsertUtil insertUtil = null) { motionUtil = motionUtil ?? new MotionUtil(vimBufferData, operations); operations = operations ?? CommonOperationsFactory.GetCommonOperations(vimBufferData); foldManager = foldManager ?? VimUtil.CreateFoldManager(vimBufferData.TextView, vimBufferData.StatusUtil); insertUtil = insertUtil ?? new InsertUtil(vimBufferData, motionUtil, operations); var lineChangeTracker = new LineChangeTracker(vimBufferData); return(new CommandUtil( vimBufferData, motionUtil, operations, foldManager, insertUtil, _vimEditorHost.BulkOperations, lineChangeTracker)); }
public void CreateCore(IMotionUtil motionUtil, params string[] lines) { _textView = CreateTextView(lines); _textView.Caret.MoveTo(new SnapshotPoint(_textView.TextSnapshot, 0)); _unnamedRegister = Vim.RegisterMap.GetRegister(RegisterName.Unnamed); _factory = new MockRepository(MockBehavior.Strict); _incrementalSearch = MockObjectFactory.CreateIncrementalSearch(factory: _factory); _commandUtil = _factory.Create<ICommandUtil>(); _globalSettings = Vim.GlobalSettings; var vimTextBuffer = Vim.CreateVimTextBuffer(_textView.TextBuffer); var vimBufferData = CreateVimBufferData(vimTextBuffer, _textView); var operations = CommonOperationsFactory.GetCommonOperations(vimBufferData); motionUtil = motionUtil ?? new MotionUtil(vimBufferData, operations); var lineChangeTracker = new LineChangeTracker(vimBufferData); var capture = new MotionCapture(vimBufferData, _incrementalSearch.Object); var runner = new CommandRunner( _textView, Vim.RegisterMap, capture, vimBufferData.LocalSettings, _commandUtil.Object, vimBufferData.StatusUtil, VisualKind.Character, KeyRemapMode.Normal); _modeRaw = new NormalMode( vimBufferData, operations, motionUtil, runner, capture); _mode = _modeRaw; _mode.OnEnter(ModeArgument.None); }
internal CommandUtil CreateCommandUtil( IVimBufferData vimBufferData, IMotionUtil motionUtil = null, ICommonOperations operations = null, IFoldManager foldManager = null, InsertUtil insertUtil = null) { motionUtil = motionUtil ?? new MotionUtil(vimBufferData, operations); operations = operations ?? CommonOperationsFactory.GetCommonOperations(vimBufferData); foldManager = foldManager ?? VimUtil.CreateFoldManager(vimBufferData.TextView, vimBufferData.StatusUtil); insertUtil = insertUtil ?? new InsertUtil(vimBufferData, motionUtil, operations); var lineChangeTracker = new LineChangeTracker(vimBufferData); return new CommandUtil( vimBufferData, motionUtil, operations, foldManager, insertUtil, _vimEditorHost.BulkOperations, MouseDevice, lineChangeTracker); }