ARCed.Scintilla.SnippetManager.snippetLinkTimer_Tick C# (CSharp) Method

snippetLinkTimer_Tick() private method

private snippetLinkTimer_Tick ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        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);
                    }));
                }
            }
        }