package org.asciidoc.intellij.psi; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; import com.intellij.psi.util.PsiTreeUtil; import org.asciidoc.intellij.lexer.AsciiDocTokenTypes; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * @author yole */ public class AsciiDocBlock extends ASTWrapperPsiElement { public AsciiDocBlock(@NotNull ASTNode node) { super(node); } @Nullable public String getTitle() { ASTNode titleNode = getNode().findChildByType(AsciiDocTokenTypes.TITLE); if (titleNode == null) { return null; } String text = titleNode.getText(); return text.length() >= 1 ? text.substring(1) : ""; } @Nullable public String getStyle() { AsciiDocBlockAttributes attrs = PsiTreeUtil.findChildOfType(this, AsciiDocBlockAttributes.class); if (attrs != null) { return attrs.getFirstPositionalAttribute(); } return null; } }