Esempio n. 1
0
        void ToggleBreakpoint(ScintillaNET.Scintilla sc, int position)
        {
            var line = sc.Lines.FromPosition(position);

            while (line != null && line.StartPosition >= 0)
            {
                var trimmed = line.Text.Trim();

                int colon = trimmed.IndexOf(":");

                if (colon >= 0)
                {
                    string start = trimmed.Substring(0, colon);

                    int lineNum = -1;

                    if (int.TryParse(start, out lineNum))
                    {
                        if (line.GetMarkers().Contains(sc.Markers[BREAKPOINT_MARKER]))
                        {
                            line.DeleteMarkerSet(BreakpointMarkers);
                            m_Breakpoints.Remove(lineNum);
                        }
                        else
                        {
                            line.AddMarkerSet(BreakpointMarkers);
                            m_Breakpoints.Add(lineNum);
                        }

                        sc.Invalidate();
                        return;
                    }
                }

                line = line.Next;
            }
        }