flag: cleanup in flag.v (#19237)

This commit is contained in:
yuyi 2023-08-29 23:08:14 +08:00 committed by GitHub
parent 17a1835a5c
commit 6af17a86e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -279,7 +279,6 @@ fn (mut fs FlagParser) parse_value(longhand string, shorthand u8) []string {
// -> '--flag' is parsed as true // -> '--flag' is parsed as true
// -> '--flag' is equal to '--flag=true' // -> '--flag' is equal to '--flag=true'
fn (mut fs FlagParser) parse_bool_value(longhand string, shorthand u8) !string { fn (mut fs FlagParser) parse_bool_value(longhand string, shorthand u8) !string {
{
full := '--${longhand}' full := '--${longhand}'
for i, arg in fs.args { for i, arg in fs.args {
if arg.len == 0 { if arg.len == 0 {
@ -311,7 +310,6 @@ fn (mut fs FlagParser) parse_bool_value(longhand string, shorthand u8) !string {
return 'true' return 'true'
} }
} }
}
return error("parameter '${longhand}' not found") return error("parameter '${longhand}' not found")
} }
@ -319,15 +317,11 @@ fn (mut fs FlagParser) parse_bool_value(longhand string, shorthand u8) !string {
// It returns an error, when the flag is not given by the user. // It returns an error, when the flag is not given by the user.
// This version supports abbreviations. // This version supports abbreviations.
pub fn (mut fs FlagParser) bool_opt(name string, abbr u8, usage string) !bool { pub fn (mut fs FlagParser) bool_opt(name string, abbr u8, usage string) !bool {
mut res := false
{
fs.add_flag(name, abbr, usage, '<bool>') fs.add_flag(name, abbr, usage, '<bool>')
parsed := fs.parse_bool_value(name, abbr) or { parsed := fs.parse_bool_value(name, abbr) or {
return error("parameter '${name}' not provided") return error("parameter '${name}' not provided")
} }
res = parsed == 'true' return parsed == 'true'
}
return res
} }
// bool defines and parses a string flag/option named `name`. // bool defines and parses a string flag/option named `name`.
@ -356,17 +350,13 @@ pub fn (mut fs FlagParser) int_multi(name string, abbr u8, usage string) []int {
// When the flag is not given by the user, it returns an error. // When the flag is not given by the user, it returns an error.
// This version supports abbreviations. // This version supports abbreviations.
pub fn (mut fs FlagParser) int_opt(name string, abbr u8, usage string) !int { pub fn (mut fs FlagParser) int_opt(name string, abbr u8, usage string) !int {
mut res := 0
{
fs.add_flag(name, abbr, usage, '<int>') fs.add_flag(name, abbr, usage, '<int>')
parsed := fs.parse_value(name, abbr) parsed := fs.parse_value(name, abbr)
if parsed.len == 0 { if parsed.len == 0 {
return error("parameter '${name}' not provided") return error("parameter '${name}' not provided")
} }
parsed0 := parsed[0] parsed0 := parsed[0]
res = parsed0.int() return parsed0.int()
}
return res
} }
// int defines and parses an integer flag, named `name`. // int defines and parses an integer flag, named `name`.
@ -395,16 +385,12 @@ pub fn (mut fs FlagParser) float_multi(name string, abbr u8, usage string) []f64
// When the flag is not given by the user, it returns an error. // When the flag is not given by the user, it returns an error.
// This version supports abbreviations. // This version supports abbreviations.
pub fn (mut fs FlagParser) float_opt(name string, abbr u8, usage string) !f64 { pub fn (mut fs FlagParser) float_opt(name string, abbr u8, usage string) !f64 {
mut res := 0.0
{
fs.add_flag(name, abbr, usage, '<float>') fs.add_flag(name, abbr, usage, '<float>')
parsed := fs.parse_value(name, abbr) parsed := fs.parse_value(name, abbr)
if parsed.len == 0 { if parsed.len == 0 {
return error("parameter '${name}' not provided") return error("parameter '${name}' not provided")
} }
res = parsed[0].f64() return parsed[0].f64()
}
return res
} }
// float defines and parses a floating point flag, named `name`. // float defines and parses a floating point flag, named `name`.
@ -428,16 +414,12 @@ pub fn (mut fs FlagParser) string_multi(name string, abbr u8, usage string) []st
// When the flag is not given by the user, it returns an error. // When the flag is not given by the user, it returns an error.
// This version supports abbreviations. // This version supports abbreviations.
pub fn (mut fs FlagParser) string_opt(name string, abbr u8, usage string) !string { pub fn (mut fs FlagParser) string_opt(name string, abbr u8, usage string) !string {
mut res := ''
{
fs.add_flag(name, abbr, usage, '<string>') fs.add_flag(name, abbr, usage, '<string>')
parsed := fs.parse_value(name, abbr) parsed := fs.parse_value(name, abbr)
if parsed.len == 0 { if parsed.len == 0 {
return error("parameter '${name}' not provided") return error("parameter '${name}' not provided")
} }
res = parsed[0] return parsed[0]
}
return res
} }
// string defines and parses a string flag/option, named `name`. // string defines and parses a string flag/option, named `name`.