public void actionPerformed()

in project_model/src/main/java/org/intellij/sdk/project/model/ProjectFileIndexSampleAction.java [36:63]


  public void actionPerformed(@NotNull final AnActionEvent event) {
    Project project = event.getProject();
    final Editor editor = event.getData(CommonDataKeys.EDITOR);
    if (project == null || editor == null) {
      return;
    }

    Document document = editor.getDocument();
    FileDocumentManager fileDocumentManager = FileDocumentManager.getInstance();
    VirtualFile virtualFile = fileDocumentManager.getFile(document);
    ProjectFileIndex projectFileIndex = ProjectRootManager.getInstance(project).getFileIndex();
    if (virtualFile != null) {
      Module module = projectFileIndex.getModuleForFile(virtualFile);
      String moduleName;
      moduleName = module != null ? module.getName() : "No module defined for file";

      VirtualFile moduleContentRoot = projectFileIndex.getContentRootForFile(virtualFile);
      boolean isLibraryFile = projectFileIndex.isInLibrary(virtualFile);
      boolean isInLibraryClasses = projectFileIndex.isInLibraryClasses(virtualFile);
      boolean isInLibrarySource = projectFileIndex.isInLibrarySource(virtualFile);
      Messages.showInfoMessage("Module: " + moduleName + "\n" +
              "Module content root: " + moduleContentRoot + "\n" +
              "Is library file: " + isLibraryFile + "\n" +
              "Is in library classes: " + isInLibraryClasses +
              ", Is in library source: " + isInLibrarySource,
          "Main File Info for" + virtualFile.getName());
    }
  }