package com.thoughtworks.gauge.folding;
import com.intellij.lang.ASTNode;
import com.intellij.lang.folding.FoldingDescriptor;
import com.intellij.openapi.editor.Document;
import com.intellij.psi.tree.TokenSet;
import com.thoughtworks.gauge.language.token.ConceptTokenTypes;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
public class ConceptFoldingBuilder extends GaugeFoldingBuilder {
@NotNull
@Override
public FoldingDescriptor[] buildFoldRegions(@NotNull ASTNode astNode, @NotNull Document document) {
List<FoldingDescriptor> descriptors = new ArrayList<>();
for (ASTNode node : astNode.getChildren(TokenSet.create(ConceptTokenTypes.CONCEPT)))
addNode(descriptors, node, node.findChildByType(ConceptTokenTypes.CONCEPT_HEADING));
return descriptors.toArray(new FoldingDescriptor[0]);
}
}