mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
angular-ui-router: UnsupportedOperationException when press cmd+d
follow-up: 7019abe
This commit is contained in:
@@ -51,7 +51,7 @@ abstract class BaseShowDiffAction extends AnAction implements DumbAware {
|
||||
protected abstract boolean isAvailable(@NotNull AnActionEvent e);
|
||||
|
||||
protected static boolean hasContent(VirtualFile file) {
|
||||
return ! (file instanceof VirtualFileWithoutContent);
|
||||
return !(file instanceof VirtualFileWithoutContent);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -72,7 +72,7 @@ public class CompareFileWithEditorAction extends BaseShowDiffAction {
|
||||
}
|
||||
|
||||
private static boolean canCompare(@NotNull VirtualFile file1, @NotNull VirtualFile file2) {
|
||||
return file1.isValid() && file2.isValid() && !file1.equals(file2) && hasContent(file1) && hasContent(file2);
|
||||
return !file1.equals(file2) && hasContent(file1) && hasContent(file2);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -106,7 +106,7 @@ public class CompareFilesAction extends BaseShowDiffAction {
|
||||
if (data.length == 1) {
|
||||
VirtualFile otherFile = getOtherFile(project, data[0]);
|
||||
if (otherFile == null) return null;
|
||||
if (!data[0].isValid()) return null;
|
||||
if (!hasContent(data[0])) return null;
|
||||
return DiffRequestFactory.getInstance().createFromFiles(project, data[0], otherFile);
|
||||
}
|
||||
else {
|
||||
|
||||
+6
-1
@@ -34,6 +34,7 @@ import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileWithoutContent;
|
||||
import com.intellij.util.LineSeparator;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.TimeoutUtil;
|
||||
@@ -56,7 +57,11 @@ public class ExternalDiffToolUtil {
|
||||
public static boolean canCreateFile(@NotNull DiffContent content) {
|
||||
if (content instanceof EmptyContent) return true;
|
||||
if (content instanceof DocumentContent) return true;
|
||||
if (content instanceof FileContent) return true;
|
||||
if (content instanceof FileContent) {
|
||||
VirtualFile file = ((FileContent)content).getFile();
|
||||
if (file instanceof VirtualFileWithoutContent) return false;
|
||||
return true;
|
||||
}
|
||||
if (content instanceof DirectoryContent) return ((DirectoryContent)content).getFile().isInLocalFileSystem();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileWithoutContent;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -130,6 +131,7 @@ public class BinaryEditorHolder extends EditorHolder {
|
||||
if (project == null) project = ProjectManager.getInstance().getDefaultProject();
|
||||
VirtualFile file = ((FileContent)content).getFile();
|
||||
if (!file.isValid()) return false;
|
||||
if (file instanceof VirtualFileWithoutContent) return false;
|
||||
return FileEditorProviderManager.getInstance().getProviders(project, file).length != 0;
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user