utility method added

This commit is contained in:
Alexey Kudravtsev
2013-06-04 13:02:53 +04:00
parent fc82aa354e
commit 659d8f90da
2 changed files with 10 additions and 0 deletions
@@ -16,6 +16,8 @@
package com.intellij.codeInsight;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
@@ -40,4 +42,6 @@ public abstract class FileModificationService {
public boolean preparePsiElementsForWrite(@NotNull PsiElement... elements) {
return preparePsiElementsForWrite(Arrays.asList(elements));
}
public abstract boolean prepareVirtualFilesForWrite(@NotNull Project project, @NotNull Collection<VirtualFile> files);
}
@@ -100,6 +100,12 @@ public class CodeInsightUtilBase extends CodeInsightUtilCore {
return true;
}
@Override
public boolean prepareVirtualFilesForWrite(@NotNull Project project, @NotNull Collection<VirtualFile> files) {
ReadonlyStatusHandler.OperationStatus status = ReadonlyStatusHandler.getInstance(project).ensureFilesWritable(files);
return !status.hasReadonlyFiles();
}
// returns true on success
public static boolean prepareEditorForWrite(@NotNull Editor editor) {
if (!editor.isViewer()) return true;