123456789module cli1011import json212import os13import src.fmt141516pub fn ok(message string) {17 done_working()18 println(' ${fmt.amber(fmt.glyph_ok)} ${message}')19}2021pub fn note(message string) {22 done_working()23 println(' ${fmt.dim(message)}')24}2526pub fn warn(message string) {27 done_working()28 println(' ${fmt.amber('!')} ${message}')29}303132pub fn fail(message string) int {33 done_working()34 eprintln(' ${fmt.red(fmt.glyph_fail)} ${message}')35 return 136}3738pub fn fail_json(message string) int {39 eprintln(json2.encode({40 'error': message41 }))42 return 143}44454647pub fn usage_error(message string) int {48 if '--json' in os.args {49 fail_json(message)50 } else {51 eprintln(' ${fmt.red(fmt.glyph_fail)} ${message}')52 }53 return 254}555657pub fn refuse(as_json bool, message string) int {58 if as_json {59 return fail_json(message)60 }61 return fail(message)62}6364pub fn emit_json(value string) {65 done_working()66 println(value)67}