From 8f8976dbbaa0c32c911a18767a2fd2907fa36d54 Mon Sep 17 00:00:00 2001 From: "kirill.safonov" Date: Tue, 27 Dec 2011 19:43:04 +0400 Subject: [PATCH] psi viewer: blocks tree small fixes --- .../src/com/intellij/internal/psiView/PsiViewerDialog.java | 2 +- .../internal/psiView/formattingblocks/BlockTreeNode.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerDialog.java b/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerDialog.java index 678765492a4b..9ab6b99af4ba 100644 --- a/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerDialog.java +++ b/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerDialog.java @@ -1004,7 +1004,7 @@ public class PsiViewerDialog extends DialogWrapper implements DataProvider, Disp int blockStart = descriptor.getBlock().getTextRange().getStartOffset(); PsiElement currentPsiEl = InjectedLanguageUtil.findElementAtNoCommit(rootPsi.getContainingFile(), blockStart); int blockLength = descriptor.getBlock().getTextRange().getLength(); - while (currentPsiEl != null && + while (currentPsiEl.getParent() != null && currentPsiEl.getTextRange().getStartOffset() == blockStart && currentPsiEl.getTextLength() != blockLength) { currentPsiEl = currentPsiEl.getParent(); diff --git a/platform/lang-impl/src/com/intellij/internal/psiView/formattingblocks/BlockTreeNode.java b/platform/lang-impl/src/com/intellij/internal/psiView/formattingblocks/BlockTreeNode.java index 8b79d04565f1..624c8d643c4f 100644 --- a/platform/lang-impl/src/com/intellij/internal/psiView/formattingblocks/BlockTreeNode.java +++ b/platform/lang-impl/src/com/intellij/internal/psiView/formattingblocks/BlockTreeNode.java @@ -1,6 +1,7 @@ package com.intellij.internal.psiView.formattingblocks; import com.intellij.formatting.Block; +import com.intellij.formatting.templateLanguages.DataLanguageBlockWrapper; import com.intellij.ide.projectView.PresentationData; import com.intellij.ui.SimpleTextAttributes; import com.intellij.ui.treeStructure.SimpleNode; @@ -32,7 +33,11 @@ public class BlockTreeNode extends SimpleNode { @Override protected void update(PresentationData presentation) { - presentation.addText(new String(myBlock.getClass().getSimpleName()), SimpleTextAttributes.REGULAR_ATTRIBUTES); + String name = myBlock.getClass().getSimpleName(); + if (myBlock instanceof DataLanguageBlockWrapper) { + name += " (" + ((DataLanguageBlockWrapper)myBlock).getOriginal().getClass().getSimpleName() + ")"; + } + presentation.addText(name, SimpleTextAttributes.REGULAR_ATTRIBUTES); if (myBlock.getIndent() != null) { presentation.addText(" " + String.valueOf(myBlock.getIndent()).replaceAll("[<>]", " "), SimpleTextAttributes.GRAY_ATTRIBUTES);