public PopupItemViewModel(int symbolId, FileVm file, NSpan span, bool isDefenition, IntelliSensePopupViewModel popup) { SymbolId = symbolId; File = file; Span = span; IsDefenition = isDefenition; Text = file.Name + " (" + span + ")"; // TODO: convert to line pos and make line preview Popup = popup; }
public NitraTextEditorViewModel(MainWindowViewModel host) { Host = host; IntelliSensePopup = new IntelliSensePopupViewModel(this); TryHighlightBraces = ReactiveCommand.Create(); TryHighlightBraces.Subscribe(_ => { //if (_matchedBracketsMarkers.Count > 0) //{ // foreach (var marker in _matchedBracketsMarkers) // _textMarkerService.Remove(marker); // _matchedBracketsMarkers.Clear(); //} //var context = new MatchBracketsWalker.Context(caretPos); //_matchBracketsWalker.Walk(_parseResult, context); //_matchedBrackets = context.Brackets; //if (context.Brackets != null) //{ // foreach (var bracket in context.Brackets) // { // var marker1 = _textMarkerService.Create(bracket.OpenBracket.StartPos, bracket.OpenBracket.Length); // marker1.BackgroundColor = Colors.LightGray; // _matchedBracketsMarkers.Add(marker1); // var marker2 = _textMarkerService.Create(bracket.CloseBracket.StartPos, bracket.CloseBracket.Length); // marker2.BackgroundColor = Colors.LightGray; // _matchedBracketsMarkers.Add(marker2); // } //} }); this.WhenAnyValue(vm => vm.CaretOffset) .InvokeCommand(TryHighlightBraces); }