internal static IMotionUtil CreateTextViewMotionUtil( ITextView textView, IMarkMap markMap = null, IVimLocalSettings settings = null, ISearchService search = null, ITextStructureNavigator navigator = null, IJumpList jumpList = null, IStatusUtil statusUtil = null, IVimData vimData = null) { markMap = markMap ?? new MarkMap(new TrackingLineColumnService()); settings = settings ?? new LocalSettings(new GlobalSettings(), textView); search = search ?? CreateSearchService(settings.GlobalSettings); navigator = navigator ?? CreateTextStructureNavigator(textView.TextBuffer); jumpList = jumpList ?? CreateJumpList(); statusUtil = statusUtil ?? new StatusUtil(); vimData = vimData ?? new VimData(); return(new MotionUtil( textView, markMap, settings, search, navigator, jumpList, statusUtil, vimData)); }
public void Create2( ModeKind kind = ModeKind.VisualCharacter, params string[] lines) { _textView = EditorUtil.CreateView(lines); _textBuffer = _textView.TextBuffer; _selection = _textView.Selection; _factory = new MockRepository(MockBehavior.Strict); _map = VimUtil.CreateRegisterMap(MockObjectFactory.CreateClipboardDevice(_factory).Object); _markMap = new MarkMap(new TrackingLineColumnService()); _tracker = _factory.Create <ISelectionTracker>(); _tracker.Setup(x => x.Start()); _tracker.Setup(x => x.ResetCaret()); _tracker.Setup(x => x.UpdateSelection()); _jumpList = _factory.Create <IJumpList>(MockBehavior.Loose); _undoRedoOperations = _factory.Create <IUndoRedoOperations>(); _foldManager = _factory.Create <IFoldManager>(); _editorOperations = _factory.Create <IEditorOperations>(); _operations = _factory.Create <ICommonOperations>(); _operations.SetupGet(x => x.FoldManager).Returns(_foldManager.Object); _operations.SetupGet(x => x.UndoRedoOperations).Returns(_undoRedoOperations.Object); _operations.SetupGet(x => x.EditorOperations).Returns(_editorOperations.Object); _operations.SetupGet(x => x.TextView).Returns(_textView); _host = _factory.Create <IVimHost>(MockBehavior.Loose); _commandUtil = _factory.Create <ICommandUtil>(); _commandUtil .Setup(x => x.RunCommand(It.Is <Command>(y => y.IsLegacyCommand))) .Returns <Command>(c => c.AsLegacyCommand().Item.Function.Invoke(null)); _incrementalSearch = MockObjectFactory.CreateIncrementalSearch(factory: _factory); var globalSettings = new GlobalSettings(); var localSettings = new LocalSettings(globalSettings, _textView); var motionUtil = VimUtil.CreateTextViewMotionUtil( _textView, _markMap, localSettings); _bufferData = MockObjectFactory.CreateVimBuffer( _textView, "test", MockObjectFactory.CreateVim(_map, host: _host.Object, settings: globalSettings).Object, incrementalSearch: _incrementalSearch.Object, jumpList: _jumpList.Object, motionUtil: motionUtil); var capture = new MotionCapture( _host.Object, _textView, _incrementalSearch.Object, localSettings); var runner = new CommandRunner( _textView, _map, capture, _commandUtil.Object, (new Mock <IStatusUtil>()).Object, VisualKind.Character); _modeRaw = new VisualMode(_bufferData.Object, _operations.Object, kind, runner, capture, _tracker.Object); _mode = _modeRaw; _mode.OnEnter(ModeArgument.None); }
private void Create(ITextView textView) { _textView = textView; _textBuffer = textView.TextBuffer; _buffer = _textView.TextBuffer; _snapshot = _buffer.CurrentSnapshot; _buffer.Changed += delegate { _snapshot = _buffer.CurrentSnapshot; }; _globalSettings = new Vim.GlobalSettings(); _localSettings = new LocalSettings(_globalSettings, _textView); _markMap = new MarkMap(new TrackingLineColumnService()); _vimData = new VimData(); _search = VimUtil.CreateSearchService(_globalSettings); _jumpList = VimUtil.CreateJumpList(); _statusUtil = new Mock<IStatusUtil>(MockBehavior.Strict); _navigator = VimUtil.CreateTextStructureNavigator(_textView.TextBuffer); _motionUtil = new MotionUtil( _textView, _markMap, _localSettings, _search, _navigator, _jumpList, _statusUtil.Object, _vimData); }
public static void SetLocalMark(this IMarkMap markMap, char c, IVimBufferData vimBufferData, int line, int column) { var letter = Letter.OfChar(c).Value; var mark = Mark.NewLocalMark(LocalMark.NewLetter(letter)); markMap.SetMark(mark, vimBufferData, line, column); }
private void Create(ITextView textView, IEditorOptions editorOptions = null) { _textView = textView; _textBuffer = textView.TextBuffer; _snapshot = _textBuffer.CurrentSnapshot; _textBuffer.Changed += delegate { _snapshot = _textBuffer.CurrentSnapshot; }; _globalSettings = new Vim.GlobalSettings(); _localSettings = new LocalSettings(_globalSettings, FSharpOption.CreateForReference(editorOptions), FSharpOption.CreateForReference(textView)); _markMap = new MarkMap(new TrackingLineColumnService()); _vimData = new VimData(); _search = VimUtil.CreateSearchService(_globalSettings); _jumpList = VimUtil.CreateJumpList(); _statusUtil = new Mock<IStatusUtil>(MockBehavior.Strict); _navigator = VimUtil.CreateTextStructureNavigator(_textView, WordKind.NormalWord); _motionUtil = new MotionUtil( _textView, _markMap, _localSettings, _search, _navigator, _jumpList, _statusUtil.Object, VimUtil.GetWordUtil(textView), _vimData); }
public MarkMapTest() { var service = new BufferTrackingService(); _markMapRaw = new MarkMap(service); _markMap = _markMapRaw; }
public void Setup() { var service = new BufferTrackingService(); _markMapRaw = new MarkMap(service); _markMap = _markMapRaw; }
public void Init() { var service = new TrackingLineColumnService(); _mapRaw = new Vim.MarkMap(service); _map = _mapRaw; _mapListener = _mapRaw; }
internal static CommandUtil CreateCommandUtil( ITextView textView, ICommonOperations operations = null, IMotionUtil motionUtil = null, IStatusUtil statusUtil = null, IRegisterMap registerMap = null, IMarkMap markMap = null, IVimData vimData = null, IVimLocalSettings localSettings = null, IUndoRedoOperations undoRedOperations = null, ISmartIndentationService smartIndentationService = null, IFoldManager foldManager = null, IVimHost vimHost = null, IMacroRecorder recorder = null, ISearchService searchService = null, ITextStructureNavigator wordNavigator = null, IJumpList jumpList = null) { statusUtil = statusUtil ?? new StatusUtil(); undoRedOperations = undoRedOperations ?? VimUtil.CreateUndoRedoOperations(statusUtil); localSettings = localSettings ?? new LocalSettings(new GlobalSettings()); registerMap = registerMap ?? CreateRegisterMap(MockObjectFactory.CreateClipboardDevice().Object); markMap = markMap ?? new MarkMap(new TrackingLineColumnService()); vimData = vimData ?? new VimData(); motionUtil = motionUtil ?? CreateTextViewMotionUtil(textView, markMap: markMap, vimData: vimData, settings: localSettings); operations = operations ?? CreateCommonOperations(textView, localSettings, vimData: vimData, statusUtil: statusUtil); smartIndentationService = smartIndentationService ?? CreateSmartIndentationService(); foldManager = foldManager ?? CreateFoldManager(textView.TextBuffer); searchService = searchService ?? CreateSearchService(localSettings.GlobalSettings); wordNavigator = wordNavigator ?? CreateTextStructureNavigator(textView.TextBuffer, WordKind.NormalWord); jumpList = jumpList ?? CreateJumpList(); vimHost = vimHost ?? new MockVimHost(); var vim = MockObjectFactory.CreateVim( registerMap: registerMap, map: markMap, host: vimHost, vimData: vimData, recorder: recorder, searchService: searchService); var buffer = MockObjectFactory.CreateVimBuffer( textView: textView, settings: localSettings, motionUtil: motionUtil, vim: vim.Object, wordNavigator: wordNavigator, jumpList: jumpList); return(new CommandUtil( buffer.Object, operations, statusUtil, undoRedOperations, smartIndentationService, foldManager)); }
public void Create(ITextView textView) { _textView = textView; _buffer = _textView.TextBuffer; _snapshot = _buffer.CurrentSnapshot; _buffer.Changed += delegate { _snapshot = _buffer.CurrentSnapshot; }; _settings = new Vim.GlobalSettings(); _localSettings = new LocalSettings(_settings, _textView); _markMap = new MarkMap(new TrackingLineColumnService()); _utilRaw = new TextViewMotionUtil( _textView, _markMap, _localSettings); _util = _utilRaw; }
protected void Create(ITextView textView) { _textView = textView; _textBuffer = textView.TextBuffer; _snapshot = _textBuffer.CurrentSnapshot; _textBuffer.Changed += delegate { _snapshot = _textBuffer.CurrentSnapshot; }; _vimTextBuffer = Vim.CreateVimTextBuffer(_textBuffer); _statusUtil = new Mock<IStatusUtil>(MockBehavior.Strict); var vimBufferData = CreateVimBufferData(_vimTextBuffer, _textView, statusUtil: _statusUtil.Object); _globalSettings = vimBufferData.LocalSettings.GlobalSettings; _localSettings = vimBufferData.LocalSettings; _markMap = vimBufferData.Vim.MarkMap; _vimData = vimBufferData.Vim.VimData; _search = vimBufferData.Vim.SearchService; var wordNavigator = CreateTextStructureNavigator(_textView.TextBuffer, WordKind.NormalWord); _motionUtil = new MotionUtil(vimBufferData); }
public static Mock <IVim> CreateVim( IRegisterMap registerMap = null, IMarkMap map = null, IVimGlobalSettings globalSettings = null, IVimGlobalAbbreviationMap globalAbbreviationMap = null, IVimGlobalKeyMap globalKeyMap = null, IVimHost host = null, IKeyboardDevice keyboardDevice = null, IMouseDevice mouseDevice = null, IVimData vimData = null, IMacroRecorder macroRecorder = null, ISearchService searchService = null, Dictionary <string, VariableValue> variableMap = null, MockRepository factory = null) { factory = factory ?? new MockRepository(MockBehavior.Strict); registerMap = registerMap ?? CreateRegisterMap().Object; map = map ?? new MarkMap(new BufferTrackingService()); globalSettings = globalSettings ?? new GlobalSettings(); host = host ?? new MockVimHost(); variableMap = variableMap ?? new Dictionary <string, VariableValue>(); globalKeyMap = globalKeyMap ?? new GlobalKeyMap(variableMap); macroRecorder = macroRecorder ?? CreateMacroRecorder(factory: factory).Object; searchService = searchService ?? factory.Create <ISearchService>().Object; keyboardDevice = keyboardDevice ?? (factory.Create <IKeyboardDevice>(MockBehavior.Loose)).Object; mouseDevice = mouseDevice ?? (factory.Create <IMouseDevice>(MockBehavior.Loose)).Object; vimData = vimData ?? VimUtil.CreateVimData(); globalAbbreviationMap = globalAbbreviationMap ?? new GlobalAbbreviationMap(); var mock = factory.Create <IVim>(MockBehavior.Strict); mock.SetupGet(x => x.RegisterMap).Returns(registerMap); mock.SetupGet(x => x.MarkMap).Returns(map); mock.SetupGet(x => x.GlobalSettings).Returns(globalSettings); mock.SetupGet(x => x.GlobalAbbreviationMap).Returns(globalAbbreviationMap); mock.SetupGet(x => x.GlobalKeyMap).Returns(globalKeyMap); mock.SetupGet(x => x.VimHost).Returns(host); mock.SetupGet(x => x.VimData).Returns(vimData); mock.SetupGet(x => x.MacroRecorder).Returns(macroRecorder); mock.SetupGet(x => x.SearchService).Returns(searchService); mock.SetupGet(x => x.VariableMap).Returns(variableMap); return(mock); }
internal MarkGlyphTaggerSource(IVimBufferData vimBufferData) { _vimBufferData = vimBufferData; _markMap = _vimBufferData.Vim.MarkMap; _lineNumberMap = new Dictionary <Mark, int>(); _glyphPairs = new List <Tuple <string, int> >(); _isVisible = true; _activeMarks = 0; _hideMarks = _vimBufferData.LocalSettings.HideMarks; LoadNewBufferMarks(); CachePairs(); _markMap.MarkSet += OnBufferMarkSet; _markMap.MarkDeleted += OnMarkDeleted; _vimBufferData.VimTextBuffer.MarkSet += OnBufferMarkSet; _vimBufferData.JumpList.MarkSet += OnWindowMarkSet; _vimBufferData.TextBuffer.Changed += OnTextBufferChanged; _vimBufferData.LocalSettings.SettingChanged += OnLocalSettingsChanged; _vimBufferData.Vim.VimHost.IsVisibleChanged += OnIsVisibleChanged; }
public static Mock<IVim> CreateVim( IRegisterMap registerMap = null, IMarkMap map = null, IVimGlobalSettings settings = null, IVimHost host = null, IKeyMap keyMap = null, IKeyboardDevice keyboardDevice = null, IMouseDevice mouseDevice = null, IVimData vimData = null, IMacroRecorder macroRecorder = null, ISearchService searchService = null, Dictionary<string, VariableValue> variableMap = null, MockRepository factory = null) { factory = factory ?? new MockRepository(MockBehavior.Strict); registerMap = registerMap ?? CreateRegisterMap().Object; map = map ?? new MarkMap(new BufferTrackingService()); settings = settings ?? new GlobalSettings(); host = host ?? new MockVimHost(); keyMap = keyMap ?? (new KeyMap(settings, new Dictionary<string, VariableValue>())); macroRecorder = macroRecorder ?? CreateMacroRecorder(factory: factory).Object; searchService = searchService ?? factory.Create<ISearchService>().Object; keyboardDevice = keyboardDevice ?? (factory.Create<IKeyboardDevice>(MockBehavior.Loose)).Object; mouseDevice = mouseDevice ?? (factory.Create<IMouseDevice>(MockBehavior.Loose)).Object; vimData = vimData ?? VimUtil.CreateVimData(); variableMap = variableMap ?? new Dictionary<string, VariableValue>(); var mock = factory.Create<IVim>(MockBehavior.Strict); mock.SetupGet(x => x.RegisterMap).Returns(registerMap); mock.SetupGet(x => x.MarkMap).Returns(map); mock.SetupGet(x => x.GlobalSettings).Returns(settings); mock.SetupGet(x => x.VimHost).Returns(host); mock.SetupGet(x => x.KeyMap).Returns(keyMap); mock.SetupGet(x => x.VimData).Returns(vimData); mock.SetupGet(x => x.MacroRecorder).Returns(macroRecorder); mock.SetupGet(x => x.SearchService).Returns(searchService); mock.SetupGet(x => x.VariableMap).Returns(variableMap); return mock; }
public static Mock <IVim> CreateVim( IRegisterMap registerMap = null, IMarkMap map = null, IVimGlobalSettings settings = null, IVimHost host = null, IKeyMap keyMap = null, IKeyboardDevice keyboardDevice = null, IMouseDevice mouseDevice = null, IVimData vimData = null, IMacroRecorder recorder = null, ISearchService searchService = null, MockRepository factory = null) { factory = factory ?? new MockRepository(MockBehavior.Strict); registerMap = registerMap ?? CreateRegisterMap().Object; map = map ?? new MarkMap(new TrackingLineColumnService()); settings = settings ?? new GlobalSettings(); host = host ?? new MockVimHost(); keyMap = keyMap ?? (new KeyMap()); recorder = recorder ?? CreateMacroRecorder(factory: factory).Object; searchService = searchService ?? factory.Create <ISearchService>().Object; keyboardDevice = keyboardDevice ?? (factory.Create <IKeyboardDevice>(MockBehavior.Loose)).Object; mouseDevice = mouseDevice ?? (factory.Create <IMouseDevice>(MockBehavior.Loose)).Object; vimData = vimData ?? new VimData(); var mock = factory.Create <IVim>(MockBehavior.Strict); mock.SetupGet(x => x.RegisterMap).Returns(registerMap); mock.SetupGet(x => x.MarkMap).Returns(map); mock.SetupGet(x => x.Settings).Returns(settings); mock.SetupGet(x => x.VimHost).Returns(host); mock.SetupGet(x => x.KeyMap).Returns(keyMap); mock.SetupGet(x => x.VimData).Returns(vimData); mock.SetupGet(x => x.MacroRecorder).Returns(recorder); mock.SetupGet(x => x.SearchService).Returns(searchService); return(mock); }
private ParseRangeResult Parse(string input, IMarkMap map = null, int contextLine = 0) { return(CaptureComplete(_textBuffer.GetLine(contextLine), input, map)); }
public void Create2( ModeKind kind = ModeKind.VisualCharacter, params string[] lines) { _textView = EditorUtil.CreateTextView(lines); _textBuffer = _textView.TextBuffer; _selection = _textView.Selection; _factory = new MockRepository(MockBehavior.Strict); _map = VimUtil.CreateRegisterMap(MockObjectFactory.CreateClipboardDevice(_factory).Object); _markMap = new MarkMap(new TrackingLineColumnService()); _tracker = _factory.Create<ISelectionTracker>(); _tracker.Setup(x => x.Start()); _tracker.Setup(x => x.ResetCaret()); _tracker.Setup(x => x.UpdateSelection()); _jumpList = _factory.Create<IJumpList>(MockBehavior.Loose); _undoRedoOperations = _factory.Create<IUndoRedoOperations>(); _foldManager = _factory.Create<IFoldManager>(); _editorOperations = _factory.Create<IEditorOperations>(); _operations = _factory.Create<ICommonOperations>(); _operations.SetupGet(x => x.UndoRedoOperations).Returns(_undoRedoOperations.Object); _operations.SetupGet(x => x.EditorOperations).Returns(_editorOperations.Object); _operations.SetupGet(x => x.TextView).Returns(_textView); _host = _factory.Create<IVimHost>(MockBehavior.Loose); _commandUtil = _factory.Create<ICommandUtil>(); _incrementalSearch = MockObjectFactory.CreateIncrementalSearch(factory: _factory); var globalSettings = new GlobalSettings(); var localSettings = new LocalSettings(globalSettings, EditorUtil.GetEditorOptions(_textView), _textView); var motionUtil = VimUtil.CreateTextViewMotionUtil( _textView, _markMap, localSettings); _bufferData = MockObjectFactory.CreateVimBuffer( _textView, "test", MockObjectFactory.CreateVim(_map, host: _host.Object, settings: globalSettings).Object, incrementalSearch: _incrementalSearch.Object, jumpList: _jumpList.Object, motionUtil: motionUtil); var capture = new MotionCapture( _host.Object, _textView, _incrementalSearch.Object, localSettings); var runner = new CommandRunner( _textView, _map, capture, _commandUtil.Object, (new Mock<IStatusUtil>()).Object, VisualKind.Character); _modeRaw = new VisualMode(_bufferData.Object, _operations.Object, kind, runner, capture, _tracker.Object); _mode = _modeRaw; _mode.OnEnter(ModeArgument.None); }
private ParseRangeResult CaptureComplete(ITextSnapshotLine line, string input, IMarkMap map = null) { map = map ?? new MarkMap(new TrackingLineColumnService()); return(RangeUtil.ParseRange(line, map, ListModule.OfSeq(input))); }
private ParseRangeResult CaptureComplete(SnapshotPoint point, string input, IMarkMap map = null) { map = map ?? new MarkMap(new TrackingLineColumnService()); return RangeUtil.ParseRange(point, map, ListModule.OfSeq(input)); }
private ParseRangeResult Parse(string input, IMarkMap map = null, int contextLine = 0) { return CaptureComplete(_textBuffer.GetLine(contextLine), input, map); }
private void Create(params string[] lines) { _textView = EditorUtil.CreateView(lines); _textBuffer = _textView.TextBuffer; _factory = new MockRepository(MockBehavior.Loose); _vimHost = _factory.Create<IVimHost>(); _statusUtil = _factory.Create<IStatusUtil>(); _operations = _factory.Create<ICommonOperations>(); _operations.Setup(x => x.EnsureCaretOnScreenAndTextExpanded()); _operations.Setup(x => x.RaiseSearchResultMessages(It.IsAny<SearchResult>())); _operations.Setup(x => x.EditorOptions).Returns(EditorUtil.FactoryService.EditorOptionsFactory.GetOptions(_textView)); _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, _textView); 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, smartIndentationService: _smartIdentationService.Object, recorder: _recorder.Object); _jumpList = _commandUtil._jumpList; }
private ParseRangeResult Parse(string input, IMarkMap map = null) { return CaptureComplete(new SnapshotPoint(_buffer.CurrentSnapshot, 0), input, map); }