Skip to content
Snippets Groups Projects

Feature/autoformat

Merged Johannes Mey requested to merge feature/autoformat into develop
1 file
+ 23
6
Compare changes
  • Side-by-side
  • Inline
@@ -4,11 +4,13 @@ package org.jastadd.tooling.aspect;
@@ -4,11 +4,13 @@ package org.jastadd.tooling.aspect;
import com.intellij.formatting.*;
import com.intellij.formatting.*;
import com.intellij.lang.ASTNode;
import com.intellij.lang.ASTNode;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.TextRange;
 
import com.intellij.psi.PsiElement;
import com.intellij.psi.TokenType;
import com.intellij.psi.TokenType;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.formatter.common.AbstractBlock;
import com.intellij.psi.formatter.common.AbstractBlock;
import com.intellij.psi.formatter.common.InjectedLanguageBlockBuilder;
import com.intellij.psi.formatter.common.InjectedLanguageBlockBuilder;
import com.intellij.psi.formatter.java.LeafBlock;
import com.intellij.psi.formatter.java.LeafBlock;
 
import com.intellij.psi.tree.IElementType;
import org.jastadd.tooling.aspect.psi.*;
import org.jastadd.tooling.aspect.psi.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.Nullable;
@@ -32,7 +34,9 @@ public class AspectBlock extends AbstractBlock {
@@ -32,7 +34,9 @@ public class AspectBlock extends AbstractBlock {
@Override
@Override
protected List<Block> buildChildren() {
protected List<Block> buildChildren() {
List<Block> blocks = new ArrayList<>();
List<Block> blocks = new ArrayList<>();
if (myNode.getPsi() instanceof JastAddAspectBlock) {
if (myNode.getPsi() instanceof JastAddAspectAspectClassDeclaration) {
 
myInjectedBlockBuilder.addInjectedBlocks(blocks, myNode, Wrap.createWrap(WrapType.NONE, false), null, Indent.getIndent(Indent.Type.NONE, false, true));
 
} else if (myNode.getPsi() instanceof JastAddAspectBlock) {
myInjectedBlockBuilder.addInjectedBlocks(blocks, myNode, Wrap.createWrap(WrapType.NONE, false), null, Indent.getIndent(Indent.Type.NONE, false, true));
myInjectedBlockBuilder.addInjectedBlocks(blocks, myNode, Wrap.createWrap(WrapType.NONE, false), null, Indent.getIndent(Indent.Type.NONE, false, true));
} else {
} else {
ASTNode child = myNode.getFirstChildNode();
ASTNode child = myNode.getFirstChildNode();
@@ -49,12 +53,25 @@ public class AspectBlock extends AbstractBlock {
@@ -49,12 +53,25 @@ public class AspectBlock extends AbstractBlock {
@Override
@Override
public Indent getIndent() {
public Indent getIndent() {
if (myNode.getTreeParent() != null) {
if (myNode.getTreeParent() != null && myNode.getTreeParent().getPsi() instanceof JastAddAspectAspectBody && myNode.getElementType() != AspectTypes.RBRACE) {
PsiElement parentPsi = myNode.getTreeParent().getPsi();
return Indent.getNormalIndent();
IElementType childType = myNode.getElementType();
} else {
if (parentPsi instanceof JastAddAspectAspectBody && childType != AspectTypes.RBRACE) {
return Indent.getNoneIndent();
return Indent.getNormalIndent();
 
} else if (parentPsi instanceof JastAddAspectCollectionContribution && (childType == AspectTypes.WHEN || childType == AspectTypes.TO || childType == AspectTypes.FOR)) {
 
return Indent.getNormalIndent();
 
}
 
ASTNode nonBlankSuccecssor = myNode.getTreePrev();
 
while (nonBlankSuccecssor != null && nonBlankSuccecssor.getElementType() == TokenType.WHITE_SPACE) {
 
nonBlankSuccecssor = nonBlankSuccecssor.getTreePrev();
 
}
 
if (nonBlankSuccecssor != null && nonBlankSuccecssor.getElementType() == AspectTypes.ASSIGN) {
 
return Indent.getContinuationIndent();
 
} else if (nonBlankSuccecssor != null) {
 
//System.out.println(nonBlankSuccecssor.getElementType().getDebugName());
 
}
}
}
 
return Indent.getNoneIndent();
}
}
@Nullable
@Nullable
Loading