private async Task AnalyzeAndUpdateAdornments(TextViewLayoutChangedEventArgs changes = null) { if (Analysis == null) { return; } try { if (changes != null) { await Analysis.Update(changes); } else { await Analysis.Reset(); } } catch (OperationCanceledException) { return; } catch (Exception ex) { Errors.Log(ex); } UpdateAdornments(); }
public override void Refresh() { base.Refresh(); if (Theme != null && Theme.Behavior != null && IsHandleCreated) { var snapshot = new FakeSnapshot(Text); Analysis = new DocumentAnalyzer(snapshot, Theme.Behavior, IndentSize, IndentSize); Analysis.Reset().ContinueWith(t => { BeginInvoke((Action)Invalidate); }); } }