123456789module cli1011import json212import os13import src.fmt1415pub fn ok(message string) {16 println(' ${fmt.amber(fmt.glyph_ok)} ${message}')17}1819pub fn note(message string) {20 println(' ${fmt.dim(message)}')21}2223pub fn warn(message string) {24 println(' ${fmt.amber('!')} ${message}')25}262728pub fn fail(message string) int {29 eprintln(' ${fmt.red(fmt.glyph_fail)} ${message}')30 return 131}3233pub fn fail_json(message string) int {34 eprintln(json2.encode({35 'error': message36 }))37 return 138}39404142pub fn usage_error(message string) int {43 if '--json' in os.args {44 fail_json(message)45 } else {46 eprintln(' ${fmt.red(fmt.glyph_fail)} ${message}')47 }48 return 249}505152pub fn refuse(as_json bool, message string) int {53 if as_json {54 return fail_json(message)55 }56 return fail(message)57}5859pub fn emit_json(value string) {60 println(value)61}