Esempio n. 1
0
        void rpRenameXamlNamespacePrefix_Apply(object sender, ApplyContentEventArgs ea)
        {
            IEnumerable <TagPrefix> tagPrefixes = GetTagPrefixes(ea.Element);

            ILinkedIdentifierList linkedIdentifiers = CodeRush.LinkedIdentifiers.ActiveStorage.NewList();

            foreach (TagPrefix tp in tagPrefixes)
            {
                linkedIdentifiers.Add(tp.Range);
            }

            CodeRush.LinkedIdentifiers.ActiveStorage.Invalidate();
        }
 /// <summary>
 /// Links ranges in the document passed as parameter
 /// </summary>
 /// <param name="document"></param>
 /// <param name="ranges"></param>
 private static void setUpLinksForDocument(TextDocument document, FileSourceRangeCollection ranges)
 {
     if ((ranges != null) && (document != null))
     {
         ILinkedIdentifierList list = CodeRush.LinkedIdentifiers.GetStorage(document).NewList();
         int count = ranges.Count;
         for (int i = 0; i < count; i++)
         {
             FileSourceRange   range      = ranges[i];
             ILinkedIdentifier identifier = list.Add(range.Range);
             if (identifier != null)
             {
                 identifier.Affix = range.Data as LinkedIdentifierAffix;
             }
         }
     }
 }
 /// <summary>
 /// Breaks preexisting links between the source ranges passed as parameters
 /// </summary>
 /// <param name="context"></param>
 /// <param name="ranges"></param>
 private static void breakLinks(RefactoringContext context, FileSourceRangeCollection ranges)
 {
     if ((ranges != null) && (ranges.Count != 0))
     {
         TextDocument document = context.Document;
         foreach (SourceRange range in getDocumentRanges(document, ranges))
         {
             foreach (ILinkedIdentifier identifier in CodeRush.LinkedIdentifiers.Find(document, range))
             {
                 ILinkedIdentifierList list = identifier.List;
                 if (list.MultiDocumentContainer != null)
                 {
                     list.MultiDocumentContainer.BreakAllLinks();
                 }
             }
             CodeRush.LinkedIdentifiers.BreakAllLinksInRange(document, range);
         }
     }
 }