terminal: support custom keyboard shortcuts for Split Right/Split Down (IDEA-237048)
[idea/community.git] / platform / diff-impl / src / com / intellij / diff / tools / fragmented / UnifiedDiffTool.java
1 /*
2  * Copyright 2000-2015 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.diff.tools.fragmented;
17
18 import com.intellij.diff.DiffContext;
19 import com.intellij.diff.FrameDiffTool;
20 import com.intellij.diff.requests.DiffRequest;
21 import com.intellij.diff.tools.simple.SimpleOnesideDiffViewer;
22 import com.intellij.openapi.diff.DiffBundle;
23 import org.jetbrains.annotations.NotNull;
24
25 public class UnifiedDiffTool implements FrameDiffTool {
26   public static final UnifiedDiffTool INSTANCE = new UnifiedDiffTool();
27
28   @NotNull
29   @Override
30   public DiffViewer createComponent(@NotNull DiffContext context, @NotNull DiffRequest request) {
31     if (SimpleOnesideDiffViewer.canShowRequest(context, request)) return new SimpleOnesideDiffViewer(context, request);
32     if (UnifiedDiffViewer.canShowRequest(context, request)) return new UnifiedDiffViewer(context, request);
33     throw new IllegalArgumentException(request.toString());
34   }
35
36   @Override
37   public boolean canShow(@NotNull DiffContext context, @NotNull DiffRequest request) {
38     return SimpleOnesideDiffViewer.canShowRequest(context, request) || UnifiedDiffViewer.canShowRequest(context, request);
39   }
40
41   @NotNull
42   @Override
43   public String getName() {
44     return DiffBundle.message("unified.viewer");
45   }
46 }