@Override
  public void actionPerformed(@NotNull AnActionEvent e) {
    Project project = e.getProject();
    if (project == null) return;

    IElementType[] allTypes = IElementType.enumerate(IElementType.TRUE);

    String text = Arrays.stream(allTypes)
      .map(t ->  t.getLanguage().getID() + " " + t.getClass() + " " + t.getDebugName())
      .collect(Collectors.joining("\n"));

    LightVirtualFile file = new LightVirtualFile("IElementType.txt", PlainTextFileType.INSTANCE,
                                                 "COUNT: " + allTypes.length + "\n" + text);

    FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
    if (!fileEditorManager.isFileOpen(file)) {
      fileEditorManager.openEditor(new OpenFileDescriptor(project, file), true);
    }
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)