diff options
| author | ruki <[email protected]> | 2017-09-07 09:41:08 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-09-07 09:42:56 +0800 |
| commit | b64cfa7b328df9cb389821c9348b4774024b251a (patch) | |
| tree | 43440befdbfac1269c7d87c789f95103b8736867 | |
| parent | b6152f7d7c21e9d04957eff3b4ef0c40a915aec4 (diff) | |
improve option menu
| -rw-r--r-- | xmake/core/base/option.lua | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/xmake/core/base/option.lua b/xmake/core/base/option.lua index 6ecc2163c..de87014ab 100644 --- a/xmake/core/base/option.lua +++ b/xmake/core/base/option.lua @@ -988,6 +988,7 @@ function option.show_options(options) local shortname = opt[1] local name = opt[2] local mode = opt[3] + local default = opt[4] if shortname then option_info = option_info .. " -" .. shortname if mode == "kv" then @@ -1005,7 +1006,7 @@ function option.show_options(options) option_info = option_info .. option._ifelse(shortname, ", --", " --") .. name end if mode == "kv" then - option_info = option_info .. "=" .. name:upper() + option_info = option_info .. "=" .. option._ifelse(type(default) == "boolean", "[y|n]", name:upper()) end elseif mode == "v" or mode == "vs" then option_info = option_info .. " ..." @@ -1029,13 +1030,16 @@ function option.show_options(options) end -- append the default value - local default = opt[4] if default then + local defaultval = tostring(default) + if type(default) == "boolean" then + defaultval = option._ifelse(default, "y", "n") + end option_info = option._inwidth_append(option_info, " (default: ", padding + 1, console_width) local origin_width = option._get_linelen(option_info) option_info = option_info .. "${bright}" - option_info = option._inwidth_append(option_info, tostring(default), padding + 1, console_width, console_width - origin_width) - origin_width = option._ifelse(origin_width + (#(tostring(default))) > console_width, option._get_linelen(option_info), origin_width + (#(tostring(default)))) + option_info = option._inwidth_append(option_info, defaultval, padding + 1, console_width, console_width - origin_width) + origin_width = option._ifelse(origin_width + #defaultval > console_width, option._get_linelen(option_info), origin_width + (#(tostring(default)))) option_info = option_info .. "${clear}" option_info = option._inwidth_append(option_info, ")", padding + 1, console_width, console_width - origin_width) end |
