private void snippetLinkTimer_Tick(object sender, EventArgs e)
{
this._snippetLinkTimer.Enabled = false;
Range sr = Scintilla.Selection.Range;
if (this._snippetLinks.IsActive)
{
SnippetLink oldActiveSnippetLink = this._snippetLinks.ActiveSnippetLink;
SnippetLinkRange oldActiveRange = this._snippetLinks.ActiveRange;
if (oldActiveRange != null && (oldActiveRange.IntersectsWith(sr) || oldActiveRange.Equals(sr)))
{
Scintilla.BeginInvoke(new MethodInvoker(delegate
{
this.cascadeSnippetLinkRangeChange(oldActiveSnippetLink, oldActiveRange);
foreach (SnippetLink sl in this._snippetLinks.Values)
foreach (Range r in sl.Ranges)
{
if (sl == this._snippetLinks.ActiveSnippetLink)
{
r.ClearIndicator(Scintilla.Snippets.InactiveSnippetIndicator);
r.SetIndicator(Scintilla.Snippets.ActiveSnippetIndicator);
}
else
{
r.SetIndicator(Scintilla.Snippets.InactiveSnippetIndicator);
r.ClearIndicator(Scintilla.Snippets.ActiveSnippetIndicator);
}
}
if (this._pendingUndo)
{
this._pendingUndo = false;
Scintilla.UndoRedo.EndUndoAction();
}
Scintilla.NativeInterface.Colourise(0, -1);
}));
}
}
}