Skip to content

Commit 15bc2bb

Browse files
Improve heading nesting error
1 parent c875fe7 commit 15bc2bb

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

smithy-docgen-core/src/main/java/software/amazon/smithy/docgen/core/DocSymbolProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ private static String getDefinitionFile(ServiceShape serviceShape, Shape shape)
5454
}
5555

5656
public static String getDefinitionFile(String filename) {
57-
return "sources/" + filename;
57+
return "content/" + filename;
5858
}
5959

6060
private static String getShapeName(ServiceShape serviceShape, Shape shape) {

smithy-docgen-core/src/main/java/software/amazon/smithy/docgen/core/generators/ServiceGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public void accept(GenerateServiceDirective<DocGenerationContext, DocSettings> d
2020
ServiceShape serviceShape = directive.service();
2121

2222
directive.context().writerDelegator().useShapeWriter(serviceShape, writer -> {
23-
writer.openHeader(serviceShape.expectTrait(TitleTrait.class).getValue());
23+
writer.openHeading(serviceShape.expectTrait(TitleTrait.class).getValue());
2424
writer.writeShapeDocs(serviceShape);
2525

26-
writer.closeHeader();
26+
writer.closeHeading();
2727
});
2828
}
2929

smithy-docgen-core/src/main/java/software/amazon/smithy/docgen/core/writers/DocWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public DocWriter(DocImportContainer importContainer) {
1515

1616
public abstract DocWriter writeShapeDocs(Shape shape);
1717

18-
public abstract DocWriter openHeader(String content);
18+
public abstract DocWriter openHeading(String content);
1919

20-
public abstract DocWriter closeHeader();
20+
public abstract DocWriter closeHeading();
2121
}

smithy-docgen-core/src/main/java/software/amazon/smithy/docgen/core/writers/MarkdownWriter.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55

66
package software.amazon.smithy.docgen.core.writers;
77

8+
import software.amazon.smithy.codegen.core.CodegenException;
89
import software.amazon.smithy.codegen.core.SymbolWriter;
910
import software.amazon.smithy.model.shapes.Shape;
1011
import software.amazon.smithy.model.traits.DocumentationTrait;
1112
import software.amazon.smithy.utils.StringUtils;
1213

13-
public final class MarkdownWriter
14-
extends DocWriter {
14+
public final class MarkdownWriter extends DocWriter {
15+
private static int MAX_HEADING_DEPTH = 6;
16+
1517
private int headerLevel = 0;
1618

1719
public MarkdownWriter() {
@@ -40,10 +42,13 @@ private DocWriter writeWithNewline(Object content, Object... args) {
4042
}
4143

4244
@Override
43-
public DocWriter openHeader(String content) {
45+
public DocWriter openHeading(String content) {
4446
headerLevel++;
45-
if (headerLevel > 5) {
46-
throw new RuntimeException("Tried opening a header nested too deeply.");
47+
if (headerLevel > MAX_HEADING_DEPTH) {
48+
throw new CodegenException(String.format(
49+
"Tried opening a heading nested more deeply than the max depth of %d.",
50+
MAX_HEADING_DEPTH
51+
));
4752
}
4853

4954
writeWithNewline(StringUtils.repeat("#", headerLevel) + " " + content);
@@ -52,9 +57,9 @@ public DocWriter openHeader(String content) {
5257
}
5358

5459
@Override
55-
public DocWriter closeHeader() {
60+
public DocWriter closeHeading() {
5661
if (headerLevel <= 0) {
57-
throw new RuntimeException("Closed a header that was never opened.");
62+
throw new CodegenException("Closed a header that was never opened.");
5863
}
5964
write("");
6065

0 commit comments

Comments
 (0)