コード例 #1
0
 public PsiCodeCompletionContext(CodeCompletionContext context, TextLookupRanges completionRanges, PsiReparsedCompletionContext reparsedContext)
   :
     base(context)
 {
   ReparsedContext = reparsedContext;
   Ranges = completionRanges;
 }
コード例 #2
0
 public PsiCodeCompletionContext(CodeCompletionContext context, TextLookupRanges completionRanges, PsiReparsedCompletionContext reparsedContext)
     :
     base(context)
 {
     ReparsedContext = reparsedContext;
     Ranges          = completionRanges;
 }
コード例 #3
0
        public override ISpecificCodeCompletionContext GetCompletionContext(CodeCompletionContext context)
        {
            var unterminatedContext = new PsiReparsedCompletionContext(context.File, context.SelectedTreeRange, "aa");

            unterminatedContext.Init();
            IReference referenceToComplete = unterminatedContext.Reference;
            ITreeNode  elementToComplete   = unterminatedContext.TreeNode;

            if (elementToComplete == null)
            {
                return(null);
            }
            TreeTextRange referenceRange = referenceToComplete != null?referenceToComplete.GetTreeTextRange() : GetElementRange(elementToComplete);

            TextRange referenceDocumentRange = unterminatedContext.ToDocumentRange(referenceRange);

            if (!referenceDocumentRange.IsValid)
            {
                return(null);
            }

            if (!referenceDocumentRange.Contains(context.CaretDocumentRange.TextRange))
            {
                return(null);
            }
            TextLookupRanges ranges = GetTextLookupRanges(context, referenceDocumentRange);

            return(new PsiCodeCompletionContext(context, ranges, unterminatedContext));
        }
コード例 #4
0
    public override ISpecificCodeCompletionContext GetCompletionContext(CodeCompletionContext context)
    {
      var unterminatedContext = new PsiReparsedCompletionContext(context.File, context.SelectedTreeRange, "aa");
      unterminatedContext.Init();
      IReference referenceToComplete = unterminatedContext.Reference;
      ITreeNode elementToComplete = unterminatedContext.TreeNode;
      if (elementToComplete == null)
      {
        return null;
      }
      TreeTextRange referenceRange = referenceToComplete != null ? referenceToComplete.GetTreeTextRange() : GetElementRange(elementToComplete);
      TextRange referenceDocumentRange = unterminatedContext.ToDocumentRange(referenceRange);
      if (!referenceDocumentRange.IsValid)
      {
        return null;
      }

      if (!referenceDocumentRange.Contains(context.CaretDocumentRange.TextRange))
      {
        return null;
      }
      TextLookupRanges ranges = GetTextLookupRanges(context, referenceDocumentRange);
      return new PsiCodeCompletionContext(context, ranges, unterminatedContext);
    }