aboutsummaryrefslogtreecommitdiffstats
path: root/ruby.c
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2023-10-26 15:23:46 -0400
committerKevin Newton <kddnewton@gmail.com>2023-10-26 15:23:46 -0400
commit55b81e419fd527a323a8506a120d0de4d80b4a00 (patch)
tree948c41de7d7ea99f1541f795190baa3dfa4345fe /ruby.c
parent21dc64534b841ed905e7ea0806e125de13e2f250 (diff)
downloadruby-55b81e419fd527a323a8506a120d0de4d80b4a00.tar.gz
Use new prism prettyprint APIs
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/ruby.c b/ruby.c
index 5b2747275e..76cf53629e 100644
--- a/ruby.c
+++ b/ruby.c
@@ -2340,8 +2340,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
if (opt->e_script) {
size_t len = RSTRING_LEN(opt->e_script);
pm_parser_init(&parser, (const uint8_t *) RSTRING_PTR(opt->e_script), len, "-e");
- }
- else {
+ } else {
pm_string_t input;
char *filepath = RSTRING_PTR(opt->script_name);
pm_string_mapped_init(&input, filepath);
@@ -2349,7 +2348,13 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
}
pm_node_t *node = pm_parse(&parser);
- pm_print_node(&parser, node);
+ pm_buffer_t output_buffer = { 0 };
+
+ pm_prettyprint(&output_buffer, &parser, node);
+ rb_io_write(rb_stdout, rb_str_new((const char *) output_buffer.value, output_buffer.length));
+ rb_io_flush(rb_stdout);
+
+ pm_buffer_free(&output_buffer);
pm_node_destroy(&parser, node);
pm_parser_free(&parser);
}