From ba752c806222675c4d94c6253e2720cd8d81b881 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 26 Jul 2018 09:50:25 +0200 Subject: [PATCH 1/1] PVE::CLIFormatter - new 'yaml' renderer Generates nice and readable output for list of string and simple objects. --- src/PVE/CLIFormatter.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/PVE/CLIFormatter.pm b/src/PVE/CLIFormatter.pm index 8bb42ca..f9eb03f 100644 --- a/src/PVE/CLIFormatter.pm +++ b/src/PVE/CLIFormatter.pm @@ -4,6 +4,7 @@ use strict; use warnings; use I18N::Langinfo; use POSIX qw(strftime); +use CPAN::Meta::YAML; # comes with perl-modules use PVE::JSONSchema; use PVE::PTY; @@ -81,6 +82,17 @@ sub render_bytes { PVE::JSONSchema::register_renderer('bytes', \&render_bytes); +sub render_yaml { + my ($value) = @_; + + my $data = CPAN::Meta::YAML::Dump($value); + $data =~ s/^---[\n\s]//; # remove yaml marker + + return $data; +} + +PVE::JSONSchema::register_renderer('yaml', \&render_yaml); + sub query_terminal_options { my ($options) = @_; -- 2.39.2