protected ScrollOffsetTest() { Create(Lines); _lastLineNumber = _textBuffer.CurrentSnapshot.LineCount - 1; _textView.SetVisibleLineCount(5); _foldManager = FoldManagerFactory.GetFoldManager(_textView); }
private void Create(params string[] lines) { _textView = CreateTextView(lines); _textBuffer = _textView.TextBuffer; _visualBuffer = _textView.TextViewModel.VisualBuffer; _adhocOutliner = EditorUtilsFactory.GetOrCreateOutliner(_textView.TextBuffer); _outliningeManager = OutliningManagerService.GetOutliningManager(_textView); _statusUtil = new Mock<IStatusUtil>(MockBehavior.Strict); _foldData = FoldManagerFactory.GetFoldData(_textView.TextBuffer); _foldManagerRaw = new FoldManager( _textView, _foldData, _statusUtil.Object, FSharpOption.Create(OutliningManagerService.GetOutliningManager(_textView))); _foldManager = _foldManagerRaw; }
internal static ICommonOperations CreateCommonOperations( ITextView textView, IVimLocalSettings localSettings, IOutliningManager outlining = null, IStatusUtil statusUtil = null, ISearchService searchService = null, IUndoRedoOperations undoRedoOperations = null, IVimData vimData = null, IVimHost vimHost = null, ITextStructureNavigator navigator = null, IClipboardDevice clipboardDevice = null, IFoldManager foldManager = null) { var editorOperations = EditorUtil.GetOperations(textView); var editorOptions = EditorUtil.FactoryService.EditorOptionsFactory.GetOptions(textView); var jumpList = new JumpList(new TrackingLineColumnService()); var keyMap = new KeyMap(); foldManager = foldManager ?? new FoldManager(textView.TextBuffer); statusUtil = statusUtil ?? new StatusUtil(); searchService = searchService ?? CreateSearchService(localSettings.GlobalSettings); undoRedoOperations = undoRedoOperations ?? new UndoRedoOperations(statusUtil, FSharpOption<ITextUndoHistory>.None); vimData = vimData ?? new VimData(); vimHost = vimHost ?? new MockVimHost(); navigator = navigator ?? CreateTextStructureNavigator(textView.TextBuffer); clipboardDevice = clipboardDevice ?? new MockClipboardDevice(); var operationsData = new OperationsData( editorOperations, editorOptions, foldManager, jumpList, keyMap, localSettings, outlining != null ? FSharpOption.Create(outlining) : FSharpOption<IOutliningManager>.None, CreateRegisterMap(clipboardDevice), searchService, EditorUtil.FactoryService.SmartIndentationService, statusUtil, textView, undoRedoOperations, vimData, vimHost, navigator); return new CommonOperations(operationsData); }
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, operations); return(new CommandUtil( vimBufferData, motionUtil, operations, foldManager, insertUtil, _bulkOperations)); }
protected virtual void Create(params string[] lines) { _textView = CreateTextView(lines); _textBuffer = _textView.TextBuffer; _vimBuffer = Vim.CreateVimBuffer(_textView); _vimBuffer.ErrorMessage += (_, message) => { if (_assertOnErrorMessage) { throw new Exception("Error Message: " + message.Message); } }; _vimBuffer.WarningMessage += (_, message) => { if (_assertOnWarningMessage) { throw new Exception("Warning Message: " + message.Message); } }; _vimBufferData = _vimBuffer.VimBufferData; _vimTextBuffer = _vimBuffer.VimTextBuffer; _normalMode = _vimBuffer.NormalMode; _keyMap = _vimBuffer.Vim.KeyMap; _localSettings = _vimBuffer.LocalSettings; _globalSettings = _localSettings.GlobalSettings; _windowSettings = _vimBuffer.WindowSettings; _jumpList = _vimBuffer.JumpList; _vimHost = (MockVimHost)_vimBuffer.Vim.VimHost; _vimHost.BeepCount = 0; _vimData = Vim.VimData; _foldManager = FoldManagerFactory.GetFoldManager(_textView); _clipboardDevice = (TestableClipboardDevice)CompositionContainer.GetExportedValue<IClipboardDevice>(); // Many of the operations operate on both the visual and edit / text snapshot // simultaneously. Ensure that our setup code is producing a proper IElisionSnapshot // for the Visual portion so we can root out any bad mixing of instances between // the two Assert.True(_textView.VisualSnapshot is IElisionSnapshot); Assert.True(_textView.VisualSnapshot != _textView.TextSnapshot); }
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); }
public void Create(params string[] lines) { var tuple = EditorUtil.CreateTextViewAndEditorOperations(lines); _textView = tuple.Item1; _textBuffer = _textView.TextBuffer; var service = EditorUtil.FactoryService; _vimBuffer = service.Vim.CreateVimBuffer(_textView); _vimBuffer.ErrorMessage += (_, message) => { if (_assertOnErrorMessage) { Assert.Fail("Error Message: " + message); } }; _vimBuffer.WarningMessage += (_, message) => { if (_assertOnWarningMessage) { Assert.Fail("Warning Message: " + message); } }; _vimTextBuffer = _vimBuffer.VimTextBuffer; _keyMap = _vimBuffer.Vim.KeyMap; _globalSettings = _vimBuffer.LocalSettings.GlobalSettings; _jumpList = _vimBuffer.JumpList; _vimHost = (MockVimHost)_vimBuffer.Vim.VimHost; _vimHost.BeepCount = 0; _vimData = service.Vim.VimData; _foldManager = EditorUtil.FactoryService.FoldManagerFactory.GetFoldManager(_textView); // Many of the operations operate on both the visual and edit / text snapshot // simultaneously. Ensure that our setup code is producing a proper IElisionSnapshot // for the Visual portion so we can root out any bad mixing of instances between // the two Assert.IsTrue(_textView.VisualSnapshot is IElisionSnapshot); Assert.IsTrue(_textView.VisualSnapshot != _textView.TextSnapshot); }
private void Create(params string[] lines) { _vimHost = (MockVimHost)Vim.VimHost; _textView = CreateTextView(lines); _textBuffer = _textView.TextBuffer; _vimTextBuffer = Vim.CreateVimTextBuffer(_textBuffer); _localSettings = _vimTextBuffer.LocalSettings; _foldManager = FoldManagerFactory.GetFoldManager(_textView); _factory = new MockRepository(MockBehavior.Loose); _statusUtil = _factory.Create<IStatusUtil>(); _smartIdentationService = _factory.Create<ISmartIndentationService>(); var vimBufferData = CreateVimBufferData( _vimTextBuffer, _textView, statusUtil: _statusUtil.Object); _jumpList = vimBufferData.JumpList; _windowSettings = vimBufferData.WindowSettings; _vimData = Vim.VimData; _macroRecorder = Vim.MacroRecorder; _registerMap = Vim.RegisterMap; _globalSettings = Vim.GlobalSettings; var operations = CommonOperationsFactory.GetCommonOperations(vimBufferData); _motionUtil = new MotionUtil(vimBufferData); _commandUtil = new CommandUtil( vimBufferData, _motionUtil, operations, _smartIdentationService.Object, _foldManager, new InsertUtil(vimBufferData, operations)); }
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, operations); return new CommandUtil( vimBufferData, motionUtil, operations, foldManager, insertUtil, _bulkOperations); }
public void Create(params string[] lines) { _textView = CreateTextView(lines); _textView.Caret.MoveTo(new SnapshotPoint(_textView.TextSnapshot, 0)); _textBuffer = _textView.TextBuffer; _foldManager = FoldManagerFactory.GetFoldManager(_textView); _factory = new MockRepository(MockBehavior.Strict); // Create the Vim instance with our Mock'd services _vimData = new VimData(); var registerMap = VimUtil.CreateRegisterMap(MockObjectFactory.CreateClipboardDevice(_factory).Object); _vimHost = _factory.Create<IVimHost>(); _globalSettings = _factory.Create<IVimGlobalSettings>(); _globalSettings.SetupGet(x => x.Magic).Returns(true); _globalSettings.SetupGet(x => x.SmartCase).Returns(false); _globalSettings.SetupGet(x => x.IgnoreCase).Returns(true); _globalSettings.SetupGet(x => x.IsVirtualEditOneMore).Returns(false); _globalSettings.SetupGet(x => x.SelectionKind).Returns(SelectionKind.Inclusive); _globalSettings.SetupGet(x => x.UseEditorIndent).Returns(false); _globalSettings.SetupGet(x => x.UseEditorSettings).Returns(false); _globalSettings.SetupGet(x => x.VirtualEdit).Returns(String.Empty); _globalSettings.SetupGet(x => x.WrapScan).Returns(true); _globalSettings.SetupGet(x => x.ShiftWidth).Returns(2); _searchService = new SearchService(TextSearchService, _globalSettings.Object); var vim = MockObjectFactory.CreateVim( registerMap: registerMap, host: _vimHost.Object, settings: _globalSettings.Object, searchService: _searchService, factory: _factory); // Create the IVimTextBuffer instance with our Mock'd services _localSettings = MockObjectFactory.CreateLocalSettings(_globalSettings.Object, _factory); _localSettings.SetupGet(x => x.AutoIndent).Returns(false); _localSettings.SetupGet(x => x.GlobalSettings).Returns(_globalSettings.Object); _localSettings.SetupGet(x => x.ExpandTab).Returns(true); _localSettings.SetupGet(x => x.TabStop).Returns(4); _vimTextBuffer = MockObjectFactory.CreateVimTextBuffer( _textBuffer, localSettings: _localSettings.Object, vim: vim.Object, factory: _factory); // Create the VimBufferData instance with our Mock'd services _jumpList = _factory.Create<IJumpList>(); _statusUtil = _factory.Create<IStatusUtil>(); _undoRedoOperations = VimUtil.CreateUndoRedoOperations(_statusUtil.Object); var vimBufferData = CreateVimBufferData( _vimTextBuffer.Object, _textView, statusUtil: _statusUtil.Object, jumpList: _jumpList.Object, undoRedoOperations: _undoRedoOperations); _smartIndentationService = _factory.Create<ISmartIndentationService>(); _outlining = _factory.Create<IOutliningManager>(); _outlining .Setup(x => x.ExpandAll(It.IsAny<SnapshotSpan>(), It.IsAny<Predicate<ICollapsed>>())) .Returns<IEnumerable<ICollapsible>>(null); _operationsRaw = new CommonOperations( vimBufferData, EditorOperationsFactoryService.GetEditorOperations(_textView), FSharpOption.Create(_outlining.Object), _smartIndentationService.Object); _operations = _operationsRaw; }
protected override IFoldManager CreateFoldManager(ITextView textView) { _foldManager = base.CreateFoldManager(textView); return _foldManager; }
private void Create(params string[] lines) { _textView = EditorUtil.CreateTextView(lines); _textBuffer = _textView.TextBuffer; _foldManager = EditorUtil.FactoryService.FoldManagerFactory.GetFoldManager(_textView); _factory = new MockRepository(MockBehavior.Loose); _vimHost = _factory.Create<IVimHost>(); _statusUtil = _factory.Create<IStatusUtil>(); _recorder = _factory.Create<IMacroRecorder>(MockBehavior.Loose); _smartIdentationService = _factory.Create<ISmartIndentationService>(); _vimData = new VimData(); _registerMap = VimUtil.CreateRegisterMap(MockObjectFactory.CreateClipboardDevice().Object); _markMap = new MarkMap(new TrackingLineColumnService()); _globalSettings = new GlobalSettings(); _localSettings = new LocalSettings(_globalSettings, EditorUtil.GetEditorOptions(_textView), _textView); _operations = _factory.Create<ICommonOperations>(); _operations.Setup(x => x.EnsureCaretOnScreenAndTextExpanded()); _operations.Setup(x => x.RaiseSearchResultMessage(It.IsAny<SearchResult>())); _operations.Setup(x => x.EditorOptions).Returns(EditorUtil.FactoryService.EditorOptionsFactory.GetOptions(_textView)); _operations .Setup(x => x.MoveCaretToPointAndCheckVirtualSpace(It.IsAny<SnapshotPoint>())) .Callback<SnapshotPoint>( point => { TextViewUtil.MoveCaretToPoint(_textView, point); CommonUtil.MoveCaretForVirtualEdit(_textView, _globalSettings); }); var localSettings = new LocalSettings(new Vim.GlobalSettings()); _motionUtil = VimUtil.CreateTextViewMotionUtil( _textView, settings: localSettings, vimData: _vimData); _commandUtil = VimUtil.CreateCommandUtil( _textView, _operations.Object, _motionUtil, statusUtil: _statusUtil.Object, localSettings: _localSettings, registerMap: _registerMap, markMap: _markMap, vimData: _vimData, foldManager: _foldManager, smartIndentationService: _smartIdentationService.Object, recorder: _recorder.Object); _jumpList = _commandUtil._jumpList; }
protected override IFoldManager CreateFoldManager(ITextView textView) { _foldManager = FoldManagerFactory.GetFoldManager(_textView); return _foldManager; }