Java 类com.intellij.lang.LanguageSurrounders 实例源码

项目:intellij-ce-playground    文件:SurroundWithAction.java   
@Override
protected boolean isValidForFile(@NotNull Project project, @NotNull Editor editor, @NotNull final PsiFile file) {
  final Language language = file.getLanguage();
  if (!LanguageSurrounders.INSTANCE.allForLanguage(language).isEmpty()) {
    return true;
  }
  final PsiFile baseFile = PsiUtilCore.getTemplateLanguageFile(file);
  if (baseFile != null && baseFile != file && !LanguageSurrounders.INSTANCE.allForLanguage(baseFile.getLanguage()).isEmpty()) {
    return true;
  }

  if (!TemplateManagerImpl.listApplicableTemplateWithInsertingDummyIdentifier(editor, file, true).isEmpty()) {
    return true;
  }

  return false;
}
项目:tools-idea    文件:SurroundWithAction.java   
@Override
protected boolean isValidForFile(@NotNull Project project, @NotNull Editor editor, @NotNull final PsiFile file) {
  final Language language = file.getLanguage();
  if (!LanguageSurrounders.INSTANCE.allForLanguage(language).isEmpty()) {
    return true;
  }
  final PsiFile baseFile = PsiUtilCore.getTemplateLanguageFile(file);
  if (baseFile != null && baseFile != file && !LanguageSurrounders.INSTANCE.allForLanguage(baseFile.getLanguage()).isEmpty()) {
    return true;
  }

  if (!SurroundWithTemplateHandler.getApplicableTemplates(editor, file, true).isEmpty()) {
    return true;
  }

  return false;
}
项目:consulo    文件:SurroundWithAction.java   
@Override
protected boolean isValidForFile(@Nonnull Project project, @Nonnull Editor editor, @Nonnull final PsiFile file) {
  final Language language = file.getLanguage();
  if (!LanguageSurrounders.INSTANCE.allForLanguage(language).isEmpty()) {
    return true;
  }
  final PsiFile baseFile = PsiUtilCore.getTemplateLanguageFile(file);
  if (baseFile != null && baseFile != file && !LanguageSurrounders.INSTANCE.allForLanguage(baseFile.getLanguage()).isEmpty()) {
    return true;
  }

  if (!TemplateManagerImpl.listApplicableTemplateWithInsertingDummyIdentifier(editor, file, true).isEmpty()) {
    return true;
  }

  return false;
}
项目:intellij-ce-playground    文件:JavaSurroundWithTest.java   
public void testNoParenthesisSurrounderForLambdaParameter() {
  configureByFile(BASE_PATH + getTestName(false) + ".java");

  SurroundDescriptor item = ContainerUtil.getFirstItem(LanguageSurrounders.INSTANCE.allForLanguage(JavaLanguage.INSTANCE));
  assertNotNull(item);
  SelectionModel selectionModel = getEditor().getSelectionModel();
  PsiElement[] elements = item.getElementsToSurround(getFile(), selectionModel.getSelectionStart(), selectionModel.getSelectionEnd());
  assertEmpty(elements);
}
项目:intellij-ce-playground    文件:JavaSurroundWithTest.java   
private void doTest(@NotNull String fileName, Surrounder surrounder) {
  configureByFile(BASE_PATH + fileName + ".java");

  SurroundDescriptor item = ContainerUtil.getFirstItem(LanguageSurrounders.INSTANCE.allForLanguage(JavaLanguage.INSTANCE));
  assertNotNull(item);
  SelectionModel selectionModel = getEditor().getSelectionModel();
  PsiElement[] elements = item.getElementsToSurround(getFile(), selectionModel.getSelectionStart(), selectionModel.getSelectionEnd());
  assertTrue(surrounder.isApplicable(elements));

  SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
  checkResultByFile(BASE_PATH + fileName + "_after.java");
}