From 3e7f95e78f91d1c97922a82255b2eb4dd52c9d78 Mon Sep 17 00:00:00 2001 From: "no_reply@jetbrains.com" Date: Wed, 26 Jan 2005 15:27:27 +0300 Subject: [PATCH] xhtml whitespaces should be left as they were --- .../intellij/psi/impl/source/codeStyle/CodeEditUtil.java | 5 +++++ .../com/intellij/psi/impl/source/xml/XmlElementImpl.java | 8 ++++++++ source/com/intellij/psi/impl/source/xml/XmlTextImpl.java | 5 ----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/source/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java b/source/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java index 6dd817fa322e..488084791b66 100644 --- a/source/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java +++ b/source/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java @@ -13,6 +13,7 @@ import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; import com.intellij.psi.impl.source.SourceTreeToPsiMap; +import com.intellij.psi.impl.source.parsing.ParseUtil; import com.intellij.psi.impl.source.tree.*; import com.intellij.util.CharTable; import com.intellij.util.containers.HashMap; @@ -412,6 +413,10 @@ public class CodeEditUtil { LOG.assertTrue(firstAsPsiElement != null); final PsiFile file = firstAsPsiElement.getContainingFile(); final PseudoTextBuilder pseudoTextBuilder = language.getFormatter(); + if(pseudoTextBuilder == null){ + final LeafElement leafElement = ParseUtil.nextLeaf((TreeElement)first, null); + if(leafElement != second) return leafElement.getText(); + } LOG.assertTrue(pseudoTextBuilder != null); final Project project = firstAsPsiElement.getProject(); final CodeStyleSettings settings = CodeStyleSettingsManager.getInstance(project).getCurrentSettings(); diff --git a/source/com/intellij/psi/impl/source/xml/XmlElementImpl.java b/source/com/intellij/psi/impl/source/xml/XmlElementImpl.java index 04ed524798b0..3630bb54c955 100644 --- a/source/com/intellij/psi/impl/source/xml/XmlElementImpl.java +++ b/source/com/intellij/psi/impl/source/xml/XmlElementImpl.java @@ -9,6 +9,8 @@ package com.intellij.psi.impl.source.xml; import com.intellij.openapi.util.TextRange; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.fileTypes.LanguageFileType; import com.intellij.psi.PsiElement; import com.intellij.psi.tree.IElementType; import com.intellij.psi.impl.source.tree.CompositePsiElement; @@ -18,6 +20,7 @@ import com.intellij.psi.search.PsiElementProcessor; import com.intellij.psi.xml.XmlElement; import com.intellij.xml.util.XmlUtil; import com.intellij.lang.ASTNode; +import com.intellij.lang.Language; public abstract class XmlElementImpl extends CompositePsiElement implements XmlElement { public XmlElementImpl(IElementType type) { @@ -59,4 +62,9 @@ public abstract class XmlElementImpl extends CompositePsiElement implements XmlE final int textOffset = getStartOffset(); return new TextRange(textOffset, textOffset + getTextLength()); } + + public Language getLanguage() { + final FileType fileType = getContainingFile().getFileType(); + return ((LanguageFileType)fileType).getLanguage(); + } } diff --git a/source/com/intellij/psi/impl/source/xml/XmlTextImpl.java b/source/com/intellij/psi/impl/source/xml/XmlTextImpl.java index dcc945d062b0..3993ea5b0e58 100644 --- a/source/com/intellij/psi/impl/source/xml/XmlTextImpl.java +++ b/source/com/intellij/psi/impl/source/xml/XmlTextImpl.java @@ -234,9 +234,4 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText { myDisplayText = null; myGaps = null; } - - public Language getLanguage() { - final FileType fileType = getContainingFile().getFileType(); - return ((LanguageFileType)fileType).getLanguage(); - } }