git.delta.rocks / jrsonnet / refs/commits / dbab17762a03

difftreelog

feat --line_padding flag

Лач2020-06-08parent: #17973b5.patch.diff
in: master

1 file changed

modifiedcmds/jrsonnet/src/main.rsdiffbeforeafterboth
75 )]75 )]
76 max_trace: usize,76 max_trace: usize,
77
78 #[clap(
79 long,
80 default_value = "3",
81 about = "When using --format, this option specifies string to pad output with"
82 )]
83 line_padding: usize,
7784
78 #[clap(about = "File to compile", index = 1)]85 #[clap(about = "File to compile", index = 1)]
79 input: String,86 input: String,
90 let code_string = String::from_utf8(std::fs::read(opts.input.clone()).unwrap()).unwrap();97 let code_string = String::from_utf8(std::fs::read(opts.input.clone()).unwrap()).unwrap();
91 if let Err(e) = evaluator.add_file(input.clone(), code_string.clone()) {98 if let Err(e) = evaluator.add_file(input.clone(), code_string.clone()) {
92 print_syntax_error(e, &input, &code_string);99 print_syntax_error(e, &input, &code_string);
93 std::process::exit(2);100 std::process::exit(1);
94 }101 }
95 let result = evaluator.evaluate_file(&input);102 let result = evaluator.evaluate_file(&input);
96 match result {103 match result {
101 evaluator.add_stdlib();108 evaluator.add_stdlib();
102 }109 }
103 evaluator.add_global("__tmp__to_json__".to_owned(), v);110 evaluator.add_global("__tmp__to_json__".to_owned(), v);
104 let v = evaluator111 let v = evaluator.parse_evaluate_raw(&format!(
105 .parse_evaluate_raw("std.manifestJsonEx(__tmp__to_json__, \" \")");112 "std.manifestJsonEx(__tmp__to_json__, \"{}\")",
113 " ".repeat(opts.line_padding),
114 ));
106 match v {115 match v {
107 Ok(v) => v,116 Ok(v) => v,
108 Err(err) => {117 Err(err) => {
109 print_error(&err, evaluator, &opts);118 print_error(&err, evaluator, &opts);
110 std::process::exit(2);119 std::process::exit(1);
111 }120 }
112 }121 }
113 }122 }
122 Ok(v) => v,131 Ok(v) => v,
123 Err(err) => {132 Err(err) => {
124 print_error(&err, evaluator, &opts);133 print_error(&err, evaluator, &opts);
125 std::process::exit(2);134 std::process::exit(1);
126 }135 }
127 }136 }
128 }137 }
138 }147 }
139 Err(err) => {148 Err(err) => {
140 print_error(&err, evaluator, &opts);149 print_error(&err, evaluator, &opts);
150 std::process::exit(1);
141 }151 }
142 }152 }
143}153}