Пример #1
0
        private void SelectItem(string name)
        {
            try
            {
                lstNames.Enabled       = false;
                lstNames.SelectedIndex = -1;

                for (int i = 0; i < lstNames.Items.Count; ++i)
                {
                    CaretHandlerInfo item = lstNames.Items[i] as CaretHandlerInfo;
                    if (item != null && item.TypeName.Equals(name, StringComparison.Ordinal))
                    {
                        lstNames.SelectedIndex = i;
                        return;
                    }
                }

                ICaretHandlerMetadata metadata = CaretHandlerBase.MetadataFromName(name);
                for (int i = 0; i < lstNames.Items.Count; ++i)
                {
                    CaretHandlerInfo item = lstNames.Items[i] as CaretHandlerInfo;
                    if (item != null)
                    {
                        ICaretHandlerMetadata metadata2 = CaretHandlerBase.MetadataFromName(item.TypeName);
                        if (metadata == metadata2)
                        {
                            lstNames.SelectedIndex = i;
                            return;
                        }
                    }
                }

                if (lstNames.Items.Count > 0)
                {
                    lstNames.SelectedIndex = 0;
                }
            }
            finally
            {
                lstNames.Enabled = true;
            }
        }
        static List <LineSpan> GetModifiedLines(
            string text,
            int caretPosition,
            Type handler,
            string contentType = "plaintext"
            )
        {
            var da = DocumentAnalyzerTests.MakeAnalyzer(text, contentType: contentType);

            da.ResetAndWait();

            var caret = CaretHandlerBase.FromName(
                handler.FullName,
                new VirtualSnapshotPoint(da.Snapshot, caretPosition),
                da.TabSize
                );

            foreach (var line in da.GetAllLines())
            {
                caret.AddLine(line, false);
            }
            return(caret.GetModified().ToList());
        }