private void FormatMappingChanged(object sender, FormatItemsEventArgs e) { lock (_lineSeperatorTagGate) { _lineSeparatorTag = new LineSeparatorTag(_editorFormatMap); } }
internal LineSeparatorManager(DocumentView docView, LineSeparatorAdornmentManagerProvider provider, IViewTagAggregatorFactoryService aggregatorService, IEditorFormatMapService editorFormatMapService) { _textView = docView.TextView; _adornmentLayer = _textView.GetAdornmentLayer(Constants.LanguageName + "LineSeparator"); _textView.LayoutChanged += OnLayoutChanged; _textView.Closed += OnClosed; _buffer = docView.TextBuffer; _editorFormatMap = editorFormatMapService.GetEditorFormatMap("text"); _editorFormatMap.FormatMappingChanged += FormatMappingChanged; _lineSeparatorTag = new LineSeparatorTag(_editorFormatMap); if (_buffer.Properties.TryGetProperty(typeof(XSharpClassifier), out _classifier)) { _classifier.LineStateChanged += LineStateChanged; } }