Messages in this thread Patch in this message | | | From | Taeung Song <> | Subject | [PATCH v6 RESEND 3/7] perf config: Add default section and item arrays for 'colors' config | Date | Tue, 2 Aug 2016 18:20:45 +0900 |
| |
Actual variable for configs of 'colors' section is like below.
(at ui/browser.c) static struct ui_browser_colorset { const char *name, *fg, *bg; int colorset; } ui_browser__colorsets[] = { { .colorset = HE_COLORSET_TOP, .name = "top", .fg = "red", .bg = "default", }, ...
But I suggest using default config arrays for 'colors' section that contain all default config key-value pairs for it.
In near future, this array will be used on ui/browser.c because of setting default values of actual variables for 'colors' config.
Cc: Namhyung Kim <namhyung@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Signed-off-by: Taeung Song <treeze.taeung@gmail.com> --- tools/perf/util/config.c | 15 +++++++++++++++ tools/perf/util/config.h | 17 +++++++++++++++++ 2 files changed, 32 insertions(+)
diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c index 18dae74..a0c0170 100644 --- a/tools/perf/util/config.c +++ b/tools/perf/util/config.c @@ -30,6 +30,21 @@ static struct perf_config_set *config_set; const char *config_exclusive_filename; +const struct default_config_item colors_config_items[] = { + CONF_STR_VAR("top", "red, default"), + CONF_STR_VAR("medium", "green, default"), + CONF_STR_VAR("normal", "default, default"), + CONF_STR_VAR("selected", "black, yellow"), + CONF_STR_VAR("jump_arrows", "blue, default"), + CONF_STR_VAR("addr", "magenta, default"), + CONF_STR_VAR("root", "white, blue"), + CONF_END() +}; + +const struct default_config_section default_sections[] = { + { .name = "colors", .items = colors_config_items }, +}; + static int get_next_char(void) { int c; diff --git a/tools/perf/util/config.h b/tools/perf/util/config.h index 613900f..b9190fe 100644 --- a/tools/perf/util/config.h +++ b/tools/perf/util/config.h @@ -73,6 +73,20 @@ enum perf_config_type { CONFIG_TYPE_STRING }; +enum config_section_idx { + CONFIG_COLORS, +}; + +enum colors_config_items_idx { + CONFIG_COLORS_TOP, + CONFIG_COLORS_MEDIUM, + CONFIG_COLORS_NORMAL, + CONFIG_COLORS_SELECTED, + CONFIG_COLORS_JUMP_ARROWS, + CONFIG_COLORS_ADDR, + CONFIG_COLORS_ROOT, +}; + struct default_config_item { const char *name; union { @@ -112,4 +126,7 @@ struct default_config_section { #define CONF_END() \ { .name = NULL } +extern const struct default_config_section default_sections[]; +extern const struct default_config_item colors_config_items[]; + #endif /* __PERF_CONFIG_H */ -- 2.5.0
| |