perf ui stdio: Add way to setup the color output mode selection
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: c09615f29c70d4155986f55097a99ad8f2036ca1 Gitweb: http://git.kernel.org/tip/c09615f29c70d4155986f55097a99ad8f2036ca1 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 5 Jul 2016 11:05:24 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 12 Jul 2016 00:00:39 -0300
perf ui stdio: Add way to setup the color output mode selection
In --stdio we turn off color output when the output is not a tty, which is not always desirable, for instance, in:
perf annotate | more
the 'more' tool is perfectly capable of processing the escape sequences for colored output.
Allow using the existing logic for .perfconfig's "color.ui" to be used from the command line by providing a stdio__config_color() helper, that will be used by annotate and report in follow up patches.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/ui/setup.c | 7 +++++++ tools/perf/ui/ui.h | 4 ++++ 2 files changed, 11 insertions(+)
tools/perf/ui/setup.c +7 -0
@@ -60,6 +60,13 @@ static inline int setup_gtk_browser(void) { return -1; }static inline void exit_gtk_browser (bool wait_for_ok__maybe_unused ) {}#endif +int stdio__config_color (const struct option *opt__maybe_unused , +const char *mode,int unset__maybe_unused ) +{ + perf_use_color_default =perf_config_colorbool ("color.ui" , mode,-1 ); +return 0 ; +} +void setup_browser (bool fallback_to_pager) {if (use_browser <2 && (!isatty (1 ) || dump_trace))
tools/perf/ui/ui.h +4 -0
@@ -26,4 +26,8 @@ static inline void ui__exit(bool wait_for_ok __maybe_unused) {}void ui__refresh_dimensions (bool force); +struct option ; + +int stdio__config_color (const struct option *opt,const char *mode,int unset); +#endif /* _PERF_UI_H_ */