From cd3758bb328ff425bb06f18c81d3c353b508a336 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 9 Nov 2021 13:01:13 +0200 Subject: Add --ascii-tree for translating UTF-8 tree(1) output to ASCII --- cli/cli/bootstrap/cli/options.cxx | 10 ++++++++++ cli/cli/bootstrap/cli/options.hxx | 10 ++++++++++ cli/cli/bootstrap/cli/options.ixx | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+) (limited to 'cli/cli/bootstrap/cli') diff --git a/cli/cli/bootstrap/cli/options.cxx b/cli/cli/bootstrap/cli/options.cxx index 56dd24f..e66ae63 100644 --- a/cli/cli/bootstrap/cli/options.cxx +++ b/cli/cli/bootstrap/cli/options.cxx @@ -715,6 +715,7 @@ options () page_usage_specified_ (false), option_length_ (0), option_length_specified_ (false), + ascii_tree_ (), ansi_color_ (), exclude_base_ (), include_base_last_ (), @@ -856,6 +857,7 @@ options (int& argc, page_usage_specified_ (false), option_length_ (0), option_length_specified_ (false), + ascii_tree_ (), ansi_color_ (), exclude_base_ (), include_base_last_ (), @@ -1000,6 +1002,7 @@ options (int start, page_usage_specified_ (false), option_length_ (0), option_length_specified_ (false), + ascii_tree_ (), ansi_color_ (), exclude_base_ (), include_base_last_ (), @@ -1144,6 +1147,7 @@ options (int& argc, page_usage_specified_ (false), option_length_ (0), option_length_specified_ (false), + ascii_tree_ (), ansi_color_ (), exclude_base_ (), include_base_last_ (), @@ -1290,6 +1294,7 @@ options (int start, page_usage_specified_ (false), option_length_ (0), option_length_specified_ (false), + ascii_tree_ (), ansi_color_ (), exclude_base_ (), include_base_last_ (), @@ -1432,6 +1437,7 @@ options (::cli::scanner& s, page_usage_specified_ (false), option_length_ (0), option_length_specified_ (false), + ascii_tree_ (), ansi_color_ (), exclude_base_ (), include_base_last_ (), @@ -1613,6 +1619,8 @@ print_usage (::std::ostream& os, ::cli::usage_para p) os << "--option-length Indent option descriptions characters when" << ::std::endl << " printing usage." << ::std::endl; + os << "--ascii-tree Convert UTF-8 tree(1) output to ASCII." << ::std::endl; + os << "--ansi-color Use ANSI color escape sequences when printing" << ::std::endl << " usage." << ::std::endl; @@ -1859,6 +1867,8 @@ struct _cli_options_map_init _cli_options_map_["--option-length"] = &::cli::thunk< options, std::size_t, &options::option_length_, &options::option_length_specified_ >; + _cli_options_map_["--ascii-tree"] = + &::cli::thunk< options, bool, &options::ascii_tree_ >; _cli_options_map_["--ansi-color"] = &::cli::thunk< options, bool, &options::ansi_color_ >; _cli_options_map_["--exclude-base"] = diff --git a/cli/cli/bootstrap/cli/options.hxx b/cli/cli/bootstrap/cli/options.hxx index 35108fa..3ae86c6 100644 --- a/cli/cli/bootstrap/cli/options.hxx +++ b/cli/cli/bootstrap/cli/options.hxx @@ -785,6 +785,15 @@ class options option_length_specified (bool); const bool& + ascii_tree () const; + + bool& + ascii_tree (); + + void + ascii_tree (const bool&); + + const bool& ansi_color () const; bool& @@ -1566,6 +1575,7 @@ class options bool page_usage_specified_; std::size_t option_length_; bool option_length_specified_; + bool ascii_tree_; bool ansi_color_; bool exclude_base_; bool include_base_last_; diff --git a/cli/cli/bootstrap/cli/options.ixx b/cli/cli/bootstrap/cli/options.ixx index ee4cbdb..8c22d51 100644 --- a/cli/cli/bootstrap/cli/options.ixx +++ b/cli/cli/bootstrap/cli/options.ixx @@ -895,6 +895,24 @@ option_length_specified (bool x) } inline const bool& options:: +ascii_tree () const +{ + return this->ascii_tree_; +} + +inline bool& options:: +ascii_tree () +{ + return this->ascii_tree_; +} + +inline void options:: +ascii_tree (const bool& x) +{ + this->ascii_tree_ = x; +} + +inline const bool& options:: ansi_color () const { return this->ansi_color_; -- cgit v1.1