Spacing (Block child1, Block child2) { if (!(child1 instanceof ASTBlock && child2 instanceof ASTBlock)) { return null; } ASTNode node1 = ((ASTBlock)child1).getNode(); ASTNode node2 = ((ASTBlock)child2).getNode(); if (PsiUtilCore.getElementType(node1) != YAMLTokenTypes.SEQUENCE_MARKER) { return null; } IElementType node2Type = PsiUtilCore.getElementType(node2); int indentSize = mySettings.getIndentSize(YAMLFileType.YML); if (indentSize < 2) { indentSize = 2; } int spaces = 1; int minLineFeeds = 0; if (node2Type == YAMLElementTypes.SEQUENCE_ITEM) { if (shouldInlineSequenceIntoSequence) { // Set spaces to fit other items indent: // - - a # 3 spaces here if indent size is 4 // - b spaces = indentSize - 1; } else { minLineFeeds = 1; } } else if (node2Type == YAMLElementTypes.KEY_VALUE_PAIR) { if (shouldInlineBlockMappingIntoSequence) { // Set spaces to fit other items indent: // - a: x # 3 spaces here if indent size is 4 // b: y spaces = indentSize - 1; } else { minLineFeeds = 1; } } return Spacing.createSpacing(spaces, spaces, minLineFeeds, false, 0); }