From 8e513628146f11ccb1cf8ff5370f8dfeea37834f Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Wed, 4 Jul 2012 12:47:46 +0400 Subject: [PATCH] fixed exception and inner function in copy-paste --- .../codeInsight/editorActions/CopyPasteIndentProcessor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyPasteIndentProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyPasteIndentProcessor.java index 73887ff5c227..3e5a2cdadb08 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyPasteIndentProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CopyPasteIndentProcessor.java @@ -12,6 +12,7 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.TextRange; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; import com.intellij.util.text.CharArrayUtil; @@ -20,6 +21,7 @@ import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; +import java.util.List; /** * @author yole @@ -147,7 +149,9 @@ public class CopyPasteIndentProcessor implements CopyPastePostProcessor value.getIndent()) endLine -=1; + final List strings = StringUtil.split(pastedText, "\n"); + if (caretColumn > value.getIndent() && !strings.isEmpty() && + StringUtil.isEmptyOrSpaces(strings.get(strings.size()-1))) endLine -=1; for (int i = startLine+1; i <= endLine; i++) { EditorActionUtil.indentLine(project, editor, i, value.getIndent());