package org.jetbrains.plugins.clojure.editor; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiComment; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiWhiteSpace; import com.maddyhome.idea.copyright.CopyrightProfile; import com.maddyhome.idea.copyright.psi.UpdateCopyright; import com.maddyhome.idea.copyright.psi.UpdateCopyrightsProvider; import com.maddyhome.idea.copyright.psi.UpdatePsiFileCopyright; /** * @author peter */ public class ClojureCopyrightProvider extends UpdateCopyrightsProvider { @Override public UpdateCopyright createInstance(Project project, Module module, VirtualFile virtualFile, FileType fileType, CopyrightProfile copyrightProfile) { return new UpdatePsiFileCopyright(project, module, virtualFile, copyrightProfile) { @Override protected void scanFile() { PsiElement first = getFile().getFirstChild(); PsiElement last = first; PsiElement next = first; while (next != null) { if (next instanceof PsiComment || next instanceof PsiWhiteSpace) { next = getNextSibling(next); } else { break; } last = next; } if (first != null) { checkComments(first, last, true); } } }; } }