diff options
author | Kevin Newton <kddnewton@gmail.com> | 2023-10-26 15:23:46 -0400 |
---|---|---|
committer | Kevin Newton <kddnewton@gmail.com> | 2023-10-26 15:23:46 -0400 |
commit | 55b81e419fd527a323a8506a120d0de4d80b4a00 (patch) | |
tree | 948c41de7d7ea99f1541f795190baa3dfa4345fe /ruby.c | |
parent | 21dc64534b841ed905e7ea0806e125de13e2f250 (diff) | |
download | ruby-55b81e419fd527a323a8506a120d0de4d80b4a00.tar.gz |
Use new prism prettyprint APIs
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -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); } |