123456789module cli1011import json12import src.fmt1314pub fn ok(message string) {15 println(' ${fmt.amber(fmt.glyph_ok)} ${message}')16}1718pub fn note(message string) {19 println(' ${fmt.dim(message)}')20}2122pub fn warn(message string) {23 println(' ${fmt.amber('!')} ${message}')24}252627pub fn fail(message string) int {28 eprintln(' ${fmt.red(fmt.glyph_fail)} ${message}')29 return 130}3132pub fn fail_json(message string) int {33 eprintln(json.encode({34 'error': message35 }))36 return 137}3839pub fn usage_error(message string) int {40 eprintln(' ${fmt.red(fmt.glyph_fail)} ${message}')41 return 242}434445pub fn refuse(as_json bool, message string) int {46 if as_json {47 return fail_json(message)48 }49 return fail(message)50}5152pub fn emit_json(value string) {53 println(value)54}