diff --git a/prism/templates/src/prettyprint.c.erb b/prism/templates/src/prettyprint.c.erb index 7da92ffb77ebdd..c6dd5facef3ab8 100644 --- a/prism/templates/src/prettyprint.c.erb +++ b/prism/templates/src/prettyprint.c.erb @@ -29,29 +29,29 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm prettyprint_location(output_buffer, parser, &node->location); pm_buffer_append_string(output_buffer, ")\n", 2); <%- node.fields.each_with_index do |field, index| -%> - <%- pointer, preadd, preadd_bytesize = index == node.fields.length - 1 ? ["\\xe2\\x94\\x94\\xe2\\x94\\x80\\xe2\\x94\\x80 ", " ", 4] : ["\\xe2\\x94\\x9c\\xe2\\x94\\x80\\xe2\\x94\\x80 ", "\\xe2\\x94\\x82 ", 6] -%> + <%- preadd = index == node.fields.length - 1 ? " " : "| " -%> // <%= field.name %> { pm_buffer_concat(output_buffer, prefix_buffer); - pm_buffer_append_string(output_buffer, "<%= pointer %><%= field.name %>:", <%= 10 + field.name.length + 1 %>); + pm_buffer_append_string(output_buffer, "+-- <%= field.name %>:", <%= 4 + field.name.length + 1 %>); <%- case field -%> <%- when Prism::NodeField -%> pm_buffer_append_byte(output_buffer, '\n'); size_t prefix_length = prefix_buffer->length; - pm_buffer_append_string(prefix_buffer, "<%= preadd %>", <%= preadd_bytesize %>); + pm_buffer_append_string(prefix_buffer, "<%= preadd %>", 4); pm_buffer_concat(output_buffer, prefix_buffer); prettyprint_node(output_buffer, parser, (pm_node_t *) cast-><%= field.name %>, prefix_buffer); prefix_buffer->length = prefix_length; <%- when Prism::OptionalNodeField -%> if (cast-><%= field.name %> == NULL) { - pm_buffer_append_string(output_buffer, " \xe2\x88\x85\n", 5); + pm_buffer_append_string(output_buffer, " nil\n", 5); } else { pm_buffer_append_byte(output_buffer, '\n'); size_t prefix_length = prefix_buffer->length; - pm_buffer_append_string(prefix_buffer, "<%= preadd %>", <%= preadd_bytesize %>); + pm_buffer_append_string(prefix_buffer, "<%= preadd %>", 4); pm_buffer_concat(output_buffer, prefix_buffer); prettyprint_node(output_buffer, parser, (pm_node_t *) cast-><%= field.name %>, prefix_buffer); prefix_buffer->length = prefix_length; @@ -66,17 +66,10 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm size_t last_index = cast-><%= field.name %>.size; for (uint32_t index = 0; index < last_index; index++) { size_t prefix_length = prefix_buffer->length; - pm_buffer_append_string(prefix_buffer, "<%= preadd %>", <%= preadd_bytesize %>); + pm_buffer_append_string(prefix_buffer, "<%= preadd %>", 4); pm_buffer_concat(output_buffer, prefix_buffer); - - if (index == last_index - 1) { - pm_buffer_append_string(output_buffer, "\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ", 10); - pm_buffer_append_string(prefix_buffer, " ", 4); - } else { - pm_buffer_append_string(output_buffer, "\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ", 10); - pm_buffer_append_string(prefix_buffer, "\xe2\x94\x82 ", 6); - } - + pm_buffer_append_string(output_buffer, "+-- ", 4); + pm_buffer_append_string(prefix_buffer, (index == last_index - 1) ? " " : "| ", 4); prettyprint_node(output_buffer, parser, (pm_node_t *) cast-><%= field.name %>.nodes[index], prefix_buffer); prefix_buffer->length = prefix_length; } @@ -86,7 +79,7 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm pm_buffer_append_byte(output_buffer, '\n'); <%- when Prism::OptionalConstantField -%> if (cast-><%= field.name %> == 0) { - pm_buffer_append_string(output_buffer, " \xe2\x88\x85\n", 5); + pm_buffer_append_string(output_buffer, " nil\n", 5); } else { pm_buffer_append_byte(output_buffer, ' '); prettyprint_constant(output_buffer, parser, cast-><%= field.name %>); @@ -109,7 +102,7 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm <%- when Prism::OptionalLocationField -%> pm_location_t *location = &cast-><%= field.name %>; if (location->start == NULL) { - pm_buffer_append_string(output_buffer, " \xe2\x88\x85\n", 5); + pm_buffer_append_string(output_buffer, " nil\n", 5); } else { pm_buffer_append_byte(output_buffer, ' '); prettyprint_location(output_buffer, parser, location); @@ -131,7 +124,7 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm found = true; } <%- end -%> - if (!found) pm_buffer_append_string(output_buffer, " \xe2\x88\x85", 4); + if (!found) pm_buffer_append_string(output_buffer, " nil", 4); pm_buffer_append_byte(output_buffer, '\n'); <%- else -%> <%- raise -%>