public DocumentId Initialize(IRoslynHost roslynHost, IClassificationHighlightColors highlightColors, string workingDirectory, string documentText) { _roslynHost = roslynHost ?? throw new ArgumentNullException(nameof(roslynHost)); _classificationHighlightColors = highlightColors ?? throw new ArgumentNullException(nameof(highlightColors)); _braceMatcherHighlighter = new BraceMatcherHighlightRenderer(TextArea.TextView, _classificationHighlightColors); _quickInfoProvider = _roslynHost.GetService <IQuickInfoProvider>(); _braceMatchingService = _roslynHost.GetService <IBraceMatchingService>(); var avalonEditTextContainer = new AvalonEditTextContainer(Document) { Editor = this }; _documentId = roslynHost.AddDocument(avalonEditTextContainer, workingDirectory, args => _syncContext.Post(o => ProcessDiagnostics(args), null), text => avalonEditTextContainer.UpdateText(text)); AppendText(documentText); Document.UndoStack.ClearAll(); AsyncToolTipRequest = OnAsyncToolTipRequest; TextArea.TextView.LineTransformers.Insert(0, new RoslynHighlightingColorizer(_documentId, _roslynHost, _classificationHighlightColors)); _contextActionsRenderer = new ContextActionsRenderer(this, _textMarkerService); _contextActionsRenderer.Providers.Add(new RoslynContextActionProvider(_documentId, _roslynHost)); CompletionProvider = new RoslynCodeEditorCompletionProvider(_documentId, _roslynHost); return(_documentId); }
private AvalonEditSourceText(AvalonEditTextContainer container, SourceText sourceText) { _container = container; _sourceText = sourceText; }
public AvalonEditSourceText(AvalonEditTextContainer container, string text) : this(container, From(text)) { }