diff options
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffUtil.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffUtil.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffUtil.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffUtil.java index 2a5a01b43ca5..a67a6ad5af71 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffUtil.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.diff.impl; +import com.intellij.codeStyle.CodeStyleFacade; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.diff.DiffContent; import com.intellij.openapi.diff.DiffContentUtil; @@ -84,11 +85,22 @@ public class DiffUtil { } public static EditorEx createEditor(Document document, Project project, boolean isViewer) { + return createEditor(document, project, isViewer, null); + } + + public static EditorEx createEditor(Document document, Project project, boolean isViewer, @Nullable FileType fileType) { EditorFactory factory = EditorFactory.getInstance(); EditorEx editor = (EditorEx)(isViewer ? factory.createViewer(document, project) : factory.createEditor(document, project)); editor.putUserData(DiffManagerImpl.EDITOR_IS_DIFF_KEY, Boolean.TRUE); editor.setSoftWrapAppliancePlace(SoftWrapAppliancePlaces.VCS_DIFF); editor.getGutterComponentEx().revalidateMarkup(); + + if (fileType != null && project != null && !project.isDisposed()) { + CodeStyleFacade codeStyleFacade = CodeStyleFacade.getInstance(project); + editor.getSettings().setTabSize(codeStyleFacade.getTabSize(fileType)); + editor.getSettings().setUseTabCharacter(codeStyleFacade.useTabCharacter(fileType)); + } + return editor; } |