• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CamelHumpMatcher类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.codeInsight.completion.impl.CamelHumpMatcher的典型用法代码示例。如果您正苦于以下问题:Java CamelHumpMatcher类的具体用法?Java CamelHumpMatcher怎么用?Java CamelHumpMatcher使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CamelHumpMatcher类属于com.intellij.codeInsight.completion.impl包,在下文中一共展示了CamelHumpMatcher类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: suggestQualifierItems

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private static Set<LookupElement> suggestQualifierItems(CompletionParameters parameters,
                                                        PsiJavaCodeReferenceElement qualifier,
                                                        ElementFilter filter) {
  String referenceName = qualifier.getReferenceName();
  if (referenceName == null) {
    return Collections.emptySet();
  }

  PrefixMatcher qMatcher = new CamelHumpMatcher(referenceName);
  Set<LookupElement> plainVariants =
    JavaSmartCompletionContributor.completeReference(qualifier, qualifier, filter, true, true, parameters, qMatcher);

  for (PsiClass aClass : PsiShortNamesCache.getInstance(qualifier.getProject()).getClassesByName(referenceName, qualifier.getResolveScope())) {
    plainVariants.add(JavaClassNameCompletionContributor.createClassLookupItem(aClass, true));
  }

  if (!plainVariants.isEmpty()) {
    return plainVariants;
  }

  final Set<LookupElement> allClasses = new LinkedHashSet<LookupElement>();
  JavaClassNameCompletionContributor.addAllClasses(parameters.withPosition(qualifier.getReferenceNameElement(), qualifier.getTextRange().getEndOffset()),
                                                   true, qMatcher, new CollectConsumer<LookupElement>(allClasses));
  return allClasses;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:26,代码来源:JavaNoVariantsDelegator.java


示例2: addCompletions

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
public void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext context, @NotNull CompletionResultSet resultSet) {

        if(!Symfony2ProjectComponent.isEnabled(parameters.getPosition())) {
            return;
        }

        PhpIndex phpIndex = PhpIndex.getInstance(parameters.getOriginalFile().getProject());
        Map<String, String> entityNamespaces = ServiceXmlParserFactory.getInstance(parameters.getOriginalFile().getProject(), EntityNamesServiceParser.class).getEntityNameMap();

        // copied from PhpCompletionUtil::addClassesInNamespace looks the official way to find classes in namespaces
        // its a really performance nightmare

        Collection<String> names = phpIndex.getAllClassNames(new CamelHumpMatcher(resultSet.getPrefixMatcher().getPrefix()));
        for (String name : names) {
            Collection<PhpClass> classes = phpIndex.getClassesByName(name);

            for(Map.Entry<String, String> entry: entityNamespaces.entrySet()) {
                String namespaceFqn = PhpLangUtil.toFQN(entry.getValue());
                Collection<PhpClass> filtered = PhpCompletionUtil.filterByNamespace(classes, namespaceFqn);
                for (PhpClass phpClass : filtered) {
                    resultSet.addElement(new PhpClassLookupElement(phpClass, true, PhpClassReferenceInsertHandler.getInstance()));
                }
            }
        }
    }
 
开发者ID:Haehnchen,项目名称:idea-php-symfony2-plugin,代码行数:26,代码来源:PhpEntityClassCompletionProvider.java


示例3: suggestQualifierItems

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private static Set<LookupElement> suggestQualifierItems(CompletionParameters parameters,
                                                        PsiJavaCodeReferenceElement qualifier,
                                                        ElementFilter filter) {
  String referenceName = qualifier.getReferenceName();
  if (referenceName == null) {
    return Collections.emptySet();
  }

  PrefixMatcher qMatcher = new CamelHumpMatcher(referenceName);
  Set<LookupElement> plainVariants =
    JavaSmartCompletionContributor.completeReference(qualifier, qualifier, filter, true, true, parameters, qMatcher);

  for (PsiClass aClass : PsiShortNamesCache.getInstance(qualifier.getProject()).getClassesByName(referenceName, qualifier.getResolveScope())) {
    plainVariants.add(JavaClassNameCompletionContributor.createClassLookupItem(aClass, true));
  }

  if (!plainVariants.isEmpty()) {
    return plainVariants;
  }

  final Set<LookupElement> allClasses = new LinkedHashSet<LookupElement>();
  PsiElement qualifierName = qualifier.getReferenceNameElement();
  if (qualifierName != null) {
    JavaClassNameCompletionContributor.addAllClasses(parameters.withPosition(qualifierName, qualifierName.getTextRange().getEndOffset()),
                                                     true, qMatcher, new CollectConsumer<LookupElement>(allClasses));
  }
  return allClasses;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:29,代码来源:JavaNoVariantsDelegator.java


示例4: fillCompletionVariants

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
@Override
public void fillCompletionVariants(@NotNull CompletionParameters parameters, @NotNull CompletionResultSet result) {
  PsiFile file = parameters.getOriginalFile();
  Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
  if (document != null) {
    DataContext dataContext = document.getUserData(CommitMessage.DATA_CONTEXT_KEY);
    if (dataContext != null) {
      result.stopHere();
      if (parameters.getInvocationCount() > 0) {
        ChangeList[] lists = VcsDataKeys.CHANGE_LISTS.getData(dataContext);
        if (lists != null) {
          String prefix = TextFieldWithAutoCompletionListProvider.getCompletionPrefix(parameters);
          CompletionResultSet insensitive = result.caseInsensitive().withPrefixMatcher(new CamelHumpMatcher(prefix));
          for (ChangeList list : lists) {
            for (Change change : list.getChanges()) {
              ContentRevision revision = change.getAfterRevision() == null ? change.getBeforeRevision() : change.getAfterRevision();
              if (revision != null) {
                FilePath filePath = revision.getFile();
                LookupElementBuilder element = LookupElementBuilder.create(filePath.getName()).
                    withIcon(filePath.getFileType().getIcon());
                insensitive.addElement(element);
              }
            }
          }
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:CommitCompletionContributor.java


示例5: addWordsForEditor

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private static void addWordsForEditor(final EditorEx editor,
                                      final CamelHumpMatcher matcher,
                                      final List<CompletionVariant> words,
                                      final List<CompletionVariant> afterWords, boolean takeCaretsIntoAccount) {
  final CharSequence chars = editor.getDocument().getImmutableCharSequence();
  final int primaryCaretOffset;
  final int[] caretOffsets;
  if (takeCaretsIntoAccount) {
    CaretModel caretModel = editor.getCaretModel();
    primaryCaretOffset = caretModel.getOffset();
    caretOffsets = getCaretOffsets(caretModel);
  }
  else {
    primaryCaretOffset = 0;
    caretOffsets = new int[1];
  }
  TokenProcessor processor = new TokenProcessor() {
    @Override
    public boolean processToken(int start, int end) {
      for (int caretOffset : caretOffsets) {
        if (start <= caretOffset && end >= caretOffset) return true; //skip prefix itself
      }
      if (end - start > matcher.getPrefix().length()) {
        final String word = chars.subSequence(start, end).toString();
        if (matcher.isStartMatch(word)) {
          CompletionVariant v = new CompletionVariant(editor, word, start);
          if (end > primaryCaretOffset) {
            afterWords.add(v);
          }
          else {
            words.add(v);
          }
        }
      }
      return true;
    }
  };
  processWords(editor, 0, processor);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:40,代码来源:HippieWordCompletionHandler.java


示例6: addEmptyItem

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private void addEmptyItem(CollectionListModel<LookupElement> model) {
  LookupElement item = new EmptyLookupItem(myCalculating ? " " : LangBundle.message("completion.no.suggestions"), false);
  myMatchers.put(item, new CamelHumpMatcher(""));
  model.add(item);

  updateLookupWidth(item);
  requestResize();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:LookupImpl.java


示例7: prefixMatches

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
public boolean prefixMatches(@NotNull String prefix, @NotNull String variant) {
  boolean matches = new CamelHumpMatcher(prefix, false).prefixMatches(variant.replace(' ', '_'));
  if (matches && StringUtil.isWhiteSpace(prefix.charAt(prefix.length() - 1))) {
    return StringUtil.startsWithIgnoreCase(variant, prefix);
  }
  return matches;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:GeneratedParserUtilBase.java


示例8: testMultiple

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
public void testMultiple() {
  CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
  final String filePath = "/completion/directive/multiple.rst";
  myFixture.configureByFiles(filePath);
  final LookupElement[] items = myFixture.completeBasic();
  assertNotNull(items);
  assertEquals(7, items.length);

  assertEquals("caution::", items[0].getLookupString());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:RestDirectiveCompletionTest.java


示例9: doTest

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private void doTest() {
  CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
  final String testName = "keywordCompletion/" + getTestName(true);
  myFixture.configureByFile(testName + ".py");
  myFixture.completeBasic();
  myFixture.checkResultByFile(testName + ".after.py");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:PythonKeywordCompletionTest.java


示例10: doTest

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private void doTest() {
  CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
  final String testName = getTestName(true);
  myFixture.configureByFile(testName + ".py");
  myFixture.completeBasic();
  myFixture.checkResultByFile(testName + ".after.py");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:Py3CompletionTest.java


示例11: setUp

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
@Override
protected void setUp() throws Exception {
  super.setUp();

  addResource("http://www.springframework.org/schema/beans",
              getTestDataPath() + "/spring-beans-2.0.xsd");
  final ExternalResourceManagerEx manager = ExternalResourceManagerEx.getInstanceEx();
  myOldDoctype = manager.getDefaultHtmlDoctype(getProject());
  manager.setDefaultHtmlDoctype(XmlUtil.XHTML_URI, getProject());
  CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:XmlCompletionTest.java


示例12: collectCompletionResult

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
@Override
public List<LookupElement> collectCompletionResult(PsiElement psiElement, @Nullable PsiContextMatcherI<PsiElement> context) {
    List<LookupElement> result = new ArrayList<>();
    PhpIndex phpIndex = PhpIndex.getInstance(psiElement.getProject());
    String prefix = StringUtil.unquoteString(psiElement.getText());

    Collection<String> classNames = phpIndex.getAllClassNames(new CamelHumpMatcher(prefix));

    for (String className: classNames) {
        Collection<PhpClass> classesByName = phpIndex.getClassesByName(className);
        for (PhpClass phpClass: classesByName) {
            if (context != null && !context.match(phpClass)) {
                continue;
            }

            String classFqn = phpClass.getPresentableFQN();

            result.add(
                LookupElementBuilder
                    .create(classFqn)
                    .withIcon(PhpIcons.CLASS_ICON)
            );
        }
    }

    return result;
}
 
开发者ID:dkvashninbay,项目名称:magento2plugin,代码行数:28,代码来源:ClassCompletionProvider.java


示例13: getOverloadAbleClasses

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
public static Collection<LookupElement> getOverloadAbleClasses(@NotNull Project project, @NotNull String contents) {

        Collection<LookupElement> elements = new ArrayList<LookupElement>();

        // @TODO: is there a class filter on oxid, so we provide completion only for
        // "extends" classes
        PhpIndex phpIndex = PhpIndex.getInstance(project);
        for (String name : phpIndex.getAllClassNames(new CamelHumpMatcher(contents))) {
            for (PhpClass phpClass : phpIndex.getClassesByName(name)) {
                elements.add(new PhpClassLookupElement(phpClass, true, PhpClassReferenceInsertHandler.getInstance()));
            }
        }

        return elements;
    }
 
开发者ID:Haehnchen,项目名称:idea-php-oxid-plugin,代码行数:16,代码来源:OxidUtil.java


示例14: addEmptyItem

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private void addEmptyItem(CollectionListModel<LookupElement> model) {
  LookupItem<String> item = new EmptyLookupItem(myCalculating ? " " : LangBundle.message("completion.no.suggestions"), false);
  myMatchers.put(item, new CamelHumpMatcher(""));
  model.add(item);

  updateLookupWidth(item);
  requestResize();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:9,代码来源:LookupImpl.java


示例15: fillCompletionVariants

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
@Override
public void fillCompletionVariants(CompletionParameters parameters, CompletionResultSet result) {
  PsiFile file = parameters.getOriginalFile();
  Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
  if (document != null) {
    DataContext dataContext = document.getUserData(CommitMessage.DATA_CONTEXT_KEY);
    if (dataContext != null) {
      result.stopHere();
      if (parameters.getInvocationCount() > 0) {
        ChangeList[] lists = VcsDataKeys.CHANGE_LISTS.getData(dataContext);
        if (lists != null) {
          String prefix = TextFieldWithAutoCompletionListProvider.getCompletionPrefix(parameters);
          CompletionResultSet insensitive = result.caseInsensitive().withPrefixMatcher(new CamelHumpMatcher(prefix));
          for (ChangeList list : lists) {
            for (Change change : list.getChanges()) {
              ContentRevision revision = change.getAfterRevision() == null ? change.getBeforeRevision() : change.getAfterRevision();
              if (revision != null) {
                FilePath filePath = revision.getFile();
                LookupElementBuilder element = LookupElementBuilder.create(filePath.getName()).
                    withIcon(filePath.getFileType().getIcon());
                insensitive.addElement(element);
              }
            }
          }
        }
      }
    }
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:30,代码来源:CommitCompletionContributor.java


示例16: prefixMatches

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
public boolean prefixMatches(@NotNull String prefix, @NotNull String variant) {
	boolean matches = new CamelHumpMatcher(prefix, false).prefixMatches(variant.replace(' ', '_'));
	if (matches && StringUtil.isWhiteSpace(prefix.charAt(prefix.length() - 1))) {
		return StringUtil.startsWithIgnoreCase(variant, prefix);
	}
	return matches;
}
 
开发者ID:JanTvrdik,项目名称:intellij-latte,代码行数:8,代码来源:GeneratedParserUtilBase.java


示例17: prefixMatches

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
public boolean prefixMatches(@NotNull String prefix, @NotNull String variant) {
    boolean matches = new CamelHumpMatcher(prefix, false).prefixMatches(variant.replace(' ', '_'));
    if (matches && isWhiteSpace(prefix.charAt(prefix.length() - 1))) {
        return startsWithIgnoreCase(variant, prefix);
    }
    return matches;
}
 
开发者ID:ligasgr,项目名称:intellij-xquery,代码行数:8,代码来源:GeneratedParserUtilBase.java


示例18: fillCompletionVariants

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
@RequiredReadAction
@Override
public void fillCompletionVariants(CompletionParameters parameters, CompletionResultSet result) {
  PsiFile file = parameters.getOriginalFile();
  Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
  if (document != null) {
    DataContext dataContext = document.getUserData(CommitMessage.DATA_CONTEXT_KEY);
    if (dataContext != null) {
      result.stopHere();
      if (parameters.getInvocationCount() > 0) {
        ChangeList[] lists = dataContext.getData(VcsDataKeys.CHANGE_LISTS);
        if (lists != null) {
          String prefix = TextFieldWithAutoCompletionListProvider.getCompletionPrefix(parameters);
          CompletionResultSet insensitive = result.caseInsensitive().withPrefixMatcher(new CamelHumpMatcher(prefix));
          for (ChangeList list : lists) {
            for (Change change : list.getChanges()) {
              VirtualFile virtualFile = change.getVirtualFile();
              if (virtualFile != null) {
                LookupElementBuilder element = LookupElementBuilder.create(virtualFile.getName()).
                  withIcon(VirtualFilePresentation.getIcon(virtualFile));
                insensitive.addElement(element);
              }
            }
          }
        }
      }
    }
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:30,代码来源:CommitCompletionContributor.java


示例19: invoke

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
@RequiredDispatchThread
@Override
public void invoke(@Nonnull Project project, @Nonnull final Editor editor, @Nonnull PsiFile file) {
  if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;

  LookupManager.getInstance(project).hideActiveLookup();

  final CharSequence charsSequence = editor.getDocument().getCharsSequence();

  final CompletionData data = computeData(editor, charsSequence);
  String currentPrefix = data.myPrefix;

  final CompletionState completionState = getCompletionState(editor);

  String oldPrefix = completionState.oldPrefix;
  CompletionVariant lastProposedVariant = completionState.lastProposedVariant;

  if (lastProposedVariant == null || oldPrefix == null || !new CamelHumpMatcher(oldPrefix).isStartMatch(currentPrefix) ||
      !currentPrefix.equals(lastProposedVariant.variant)) {
    //we are starting over
    oldPrefix = currentPrefix;
    completionState.oldPrefix = oldPrefix;
    lastProposedVariant = null;
  }

  CompletionVariant nextVariant = computeNextVariant(editor, oldPrefix, lastProposedVariant, data, file);
  if (nextVariant == null) return;

  int replacementEnd = data.startOffset + data.myWordUnderCursor.length();
  editor.getDocument().replaceString(data.startOffset, replacementEnd, nextVariant.variant);
  editor.getCaretModel().moveToOffset(data.startOffset + nextVariant.variant.length());
  completionState.lastProposedVariant = nextVariant;
  highlightWord(nextVariant, project, data);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:35,代码来源:HippieWordCompletionHandler.java


示例20: addWordsForEditor

import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; //导入依赖的package包/类
private static void addWordsForEditor(final EditorEx editor,
                                      final CamelHumpMatcher matcher,
                                      final CharSequence chars,
                                      final List<CompletionVariant> words,
                                      final List<CompletionVariant> afterWords, final int caretOffset) {
  int startOffset = 0;
  TokenProcessor processor = new TokenProcessor() {
    @Override
    public boolean processToken(int start, int end) {
      if ((start > caretOffset || end < caretOffset) &&  //skip prefix itself
          end - start > matcher.getPrefix().length()) {
        final String word = chars.subSequence(start, end).toString();
        if (matcher.isStartMatch(word)) {
          CompletionVariant v = new CompletionVariant(editor, word, start);
          if (end > caretOffset) {
            afterWords.add(v);
          }
          else {
            words.add(v);
          }
        }
      }
      return true;
    }
  };
  processWords(editor, startOffset, processor);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:28,代码来源:HippieWordCompletionHandler.java



注:本文中的com.intellij.codeInsight.completion.impl.CamelHumpMatcher类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java HsWebApp类代码示例发布时间:2022-05-22
下一篇:
Java TaskReportProto类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap