1
+ <%# encoding: ASCII -%>
1
2
#include "prism/prettyprint.h"
2
3
3
4
static void
@@ -63,29 +64,29 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm
63
64
prettyprint_location(output_buffer, parser, &node-> location);
64
65
pm_buffer_append_string(output_buffer, ")\n", 2);
65
66
<%- node . fields . each_with_index do |field , index | -%>
66
- <%- pointer , preadd = index == node . fields . length - 1 ? [ "└── " , " " ] : [ "├── " , "│ " ] -%>
67
+ <%- 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 ] -%>
67
68
68
69
// <%= field . name %>
69
70
{
70
71
pm_buffer_concat(output_buffer, prefix_buffer);
71
- pm_buffer_append_string(output_buffer, "<%= pointer %> <%= field . name %> :", <%= pointer . bytesize + field . name . length + 1 %> );
72
+ pm_buffer_append_string(output_buffer, "<%= pointer %> <%= field . name %> :", <%= 10 + field . name . length + 1 %> );
72
73
<%- case field -%>
73
74
<%- when Prism ::NodeField -%>
74
75
pm_buffer_append_byte(output_buffer, '\n');
75
76
76
77
size_t prefix_length = prefix_buffer-> length;
77
- pm_buffer_append_string(prefix_buffer, "<%= preadd %> ", <%= preadd . bytesize %> );
78
+ pm_buffer_append_string(prefix_buffer, "<%= preadd %> ", <%= preadd_bytesize %> );
78
79
pm_buffer_concat(output_buffer, prefix_buffer);
79
80
prettyprint_node(output_buffer, parser, (pm_node_t *) cast-> <%= field . name %> , prefix_buffer);
80
81
prefix_buffer-> length = prefix_length;
81
82
<%- when Prism ::OptionalNodeField -%>
82
83
if (cast-> <%= field . name %> == NULL) {
83
- pm_buffer_append_string(output_buffer, " ∅ \n", 5);
84
+ pm_buffer_append_string(output_buffer, " \xe2\x88\x85 \n", 5);
84
85
} else {
85
86
pm_buffer_append_byte(output_buffer, '\n');
86
87
87
88
size_t prefix_length = prefix_buffer-> length;
88
- pm_buffer_append_string(prefix_buffer, "<%= preadd %> ", <%= preadd . bytesize %> );
89
+ pm_buffer_append_string(prefix_buffer, "<%= preadd %> ", <%= preadd_bytesize %> );
89
90
pm_buffer_concat(output_buffer, prefix_buffer);
90
91
prettyprint_node(output_buffer, parser, (pm_node_t *) cast-> <%= field . name %> , prefix_buffer);
91
92
prefix_buffer-> length = prefix_length;
@@ -100,15 +101,15 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm
100
101
size_t last_index = cast-> <%= field . name %> .size;
101
102
for (uint32_t index = 0; index < last _index; index++) {
102
103
size_t prefix_length = prefix_buffer- > length;
103
- pm_buffer_append_string(prefix_buffer, "<%= preadd %> ", <%= preadd . bytesize %> );
104
+ pm_buffer_append_string(prefix_buffer, "<%= preadd %> ", <%= preadd_bytesize %> );
104
105
pm_buffer_concat(output_buffer, prefix_buffer);
105
106
106
107
if (index == last_index - 1) {
107
- pm_buffer_append_string(output_buffer, "└── ", 10);
108
+ pm_buffer_append_string(output_buffer, "\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ", 10);
108
109
pm_buffer_append_string(prefix_buffer, " ", 4);
109
110
} else {
110
- pm_buffer_append_string(output_buffer, "├── ", 10);
111
- pm_buffer_append_string(prefix_buffer, "│ ", 6);
111
+ pm_buffer_append_string(output_buffer, "\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ", 10);
112
+ pm_buffer_append_string(prefix_buffer, "\xe2\x94\x82 ", 6);
112
113
}
113
114
114
115
prettyprint_node(output_buffer, parser, (pm_node_t *) cast-> <%= field . name %> .nodes[index], prefix_buffer);
@@ -120,7 +121,7 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm
120
121
pm_buffer_append_byte(output_buffer, '\n');
121
122
<%- when Prism ::OptionalConstantField -%>
122
123
if (cast-> <%= field . name %> == 0) {
123
- pm_buffer_append_string(output_buffer, " ∅ \n", 5);
124
+ pm_buffer_append_string(output_buffer, " \xe2\x88\x85 \n", 5);
124
125
} else {
125
126
pm_buffer_append_byte(output_buffer, ' ');
126
127
prettyprint_constant(output_buffer, parser, cast-> <%= field . name %> );
@@ -143,7 +144,7 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm
143
144
<%- when Prism ::OptionalLocationField -%>
144
145
pm_location_t *location = &cast-> <%= field . name %> ;
145
146
if (location-> start == NULL) {
146
- pm_buffer_append_string(output_buffer, " ∅ \n", 5);
147
+ pm_buffer_append_string(output_buffer, " \xe2\x88\x85 \n", 5);
147
148
} else {
148
149
pm_buffer_append_byte(output_buffer, ' ');
149
150
prettyprint_location(output_buffer, parser, location);
@@ -163,7 +164,7 @@ prettyprint_node(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm
163
164
found = true;
164
165
}
165
166
<%- end -%>
166
- if (!found) pm_buffer_append_string(output_buffer, " ∅ ", 4);
167
+ if (!found) pm_buffer_append_string(output_buffer, " \xe2\x88\x85 ", 4);
167
168
pm_buffer_append_byte(output_buffer, '\n');
168
169
<%- else -%>
169
170
<%- raise -%>
0 commit comments