public static void Highlight(ScintillaNET.Scintilla sci, INote n, string searchText)
        {
            sci.IndicatorCurrent = ScintillaHighlighter.INDICATOR_GLOBAL_SEARCH;

            sci.IndicatorClearRange(0, sci.TextLength);

            if (string.IsNullOrWhiteSpace(searchText))
            {
                return;
            }

            if (SearchStringParser.IsRegex(searchText, out var searchRegex))
            {
                var m = searchRegex.Matches(sci.Text);

                foreach (Match match in m)
                {
                    sci.IndicatorFillRange(match.Index, match.Length);
                }

                return;
            }
            else
            {
                string txt     = sci.Text.ToLower();
                int    lastIdx = 0;
                while (lastIdx >= 0)
                {
                    lastIdx = txt.IndexOf(searchText, lastIdx, StringComparison.OrdinalIgnoreCase);
                    if (lastIdx == -1)
                    {
                        continue;
                    }

                    sci.IndicatorFillRange(lastIdx, searchText.Length);
                    lastIdx += searchText.Length;
                }

                return;
            }
        }