Skip to content

Commit f0c8d55

Browse files
committed
refactor: extract initialization logic from RendererContext
1 parent a807b77 commit f0c8d55

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

commonmark/src/main/java/org/commonmark/renderer/markdown/MarkdownRenderer.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,18 @@ private class RendererContext implements MarkdownNodeRendererContext {
130130
private RendererContext(MarkdownWriter writer) {
131131
// Set fields that are used by interface
132132
this.writer = writer;
133+
this.additionalTextEscapes = createAdditionalTextEscapes();
134+
initializeNodeRenderers();
135+
}
136+
private Set<Character> createAdditionalTextEscapes() {
133137
Set<Character> escapes = new HashSet<>();
134138
for (MarkdownNodeRendererFactory factory : nodeRendererFactories) {
135139
escapes.addAll(factory.getSpecialCharacters());
136140
}
137-
additionalTextEscapes = Collections.unmodifiableSet(escapes);
141+
return Collections.unmodifiableSet(escapes);
142+
}
138143

144+
private void initializeNodeRenderers(){
139145
for (var factory : nodeRendererFactories) {
140146
// Pass in this as context here, which uses the fields set above
141147
var renderer = factory.create(this);

0 commit comments

Comments
 (0)