From 2c84f0cf1afc53e37f3ec64376c5935854e6ee71 Mon Sep 17 00:00:00 2001 From: Arthur Sonzogni Date: Thu, 16 Sep 2021 20:45:26 +0200 Subject: [PATCH] Run IWYU. (#208) --- examples/component/input.cpp | 11 ++++--- examples/component/menu_entries.cpp | 32 ++++++------------- examples/component/nested_screen.cpp | 30 ++++++++--------- examples/dom/separator_style.cpp | 12 +++---- include/ftxui/component/component.hpp | 1 + include/ftxui/component/component_options.hpp | 14 ++++---- .../ftxui/component/screen_interactive.hpp | 2 +- include/ftxui/screen/color.hpp | 4 +-- iwyu.imp | 1 + src/ftxui/component/container.cpp | 10 +++--- src/ftxui/component/menu.cpp | 8 ++--- src/ftxui/dom/border.cpp | 1 - src/ftxui/dom/box_helper.cpp | 6 ++++ src/ftxui/dom/box_helper.hpp | 4 +++ src/ftxui/dom/gauge.cpp | 6 ++-- src/ftxui/dom/gridbox.cpp | 25 ++++++++------- src/ftxui/dom/gridbox_test.cpp | 7 ++-- src/ftxui/dom/hbox.cpp | 11 ++++--- src/ftxui/dom/reflect.cpp | 5 +-- src/ftxui/dom/vbox.cpp | 11 ++++--- src/ftxui/screen/screen.cpp | 6 ++-- 21 files changed, 107 insertions(+), 100 deletions(-) diff --git a/examples/component/input.cpp b/examples/component/input.cpp index c49f6b3..85e1668 100644 --- a/examples/component/input.cpp +++ b/examples/component/input.cpp @@ -1,12 +1,13 @@ #include // for allocator, __shared_ptr_access -#include // for char_traits, operator+, wstring, basic_string +#include // for char_traits, operator+, string, basic_string -#include "ftxui/component/captured_mouse.hpp" // for ftxui -#include "ftxui/component/component.hpp" // for Renderer, Vertical -#include "ftxui/component/component_base.hpp" // for ComponentBase +#include "ftxui/component/captured_mouse.hpp" // for ftxui +#include "ftxui/component/component.hpp" // for Input, Renderer, Vertical +#include "ftxui/component/component_base.hpp" // for ComponentBase #include "ftxui/component/component_options.hpp" // for InputOption #include "ftxui/component/screen_interactive.hpp" // for Component, ScreenInteractive -#include "ftxui/dom/elements.hpp" // for hbox, separator, Element, operator|, vbox, border +#include "ftxui/dom/elements.hpp" // for text, hbox, separator, Element, operator|, vbox, border +#include "ftxui/util/ref.hpp" // for Ref int main(int argc, const char* argv[]) { using namespace ftxui; diff --git a/examples/component/menu_entries.cpp b/examples/component/menu_entries.cpp index b24173d..e5e3cf2 100644 --- a/examples/component/menu_entries.cpp +++ b/examples/component/menu_entries.cpp @@ -1,12 +1,15 @@ -#include // for function #include // for basic_ostream::operator<<, operator<<, endl, basic_ostream, basic_ostream<>::__ostream_type, cout, ostream -#include // for string, basic_string, allocator -#include // for vector +#include // for shared_ptr, __shared_ptr_access +#include // for to_string, allocator -#include "ftxui/component/captured_mouse.hpp" // for ftxui -#include "ftxui/component/component.hpp" // for Menu -#include "ftxui/component/component_options.hpp" // for MenuOption +#include "ftxui/component/captured_mouse.hpp" // for ftxui +#include "ftxui/component/component.hpp" // for MenuEntry, Renderer, Vertical +#include "ftxui/component/component_base.hpp" // for ComponentBase +#include "ftxui/component/component_options.hpp" // for MenuEntryOption #include "ftxui/component/screen_interactive.hpp" // for ScreenInteractive +#include "ftxui/dom/elements.hpp" // for operator|, separator, Element, Decorator, color, text, hbox, size, bold, frame, inverted, vbox, HEIGHT, LESS_THAN, border +#include "ftxui/screen/color.hpp" // for Color, Color::Blue, Color::Cyan, Color::Green, Color::Red, Color::Yellow + using namespace ftxui; // Define a special style for some menu entry. @@ -22,23 +25,6 @@ MenuEntryOption Colored(ftxui::Color c) { int main(int argc, const char* argv[]) { auto screen = ScreenInteractive::TerminalOutput(); - //Black = 0, - //Red = 1, - //Green = 2, - //Yellow = 3, - //Blue = 4, - //Magenta = 5, - //Cyan = 6, - //GrayLight = 7, - //GrayDark = 8, - //RedLight = 9, - //GreenLight = 10, - //YellowLight = 11, - //BlueLight = 12, - //MagentaLight = 13, - //CyanLight = 14, - //White = 15, - int selected = 0; auto menu = Container::Vertical( { diff --git a/examples/component/nested_screen.cpp b/examples/component/nested_screen.cpp index b492480..5c38a59 100644 --- a/examples/component/nested_screen.cpp +++ b/examples/component/nested_screen.cpp @@ -1,12 +1,11 @@ -#include // for shared_ptr, __shared_ptr_access -#include // for operator+, to_wstring +#include // for allocator, shared_ptr, __shared_ptr_access +#include // for operator+, string, char_traits, basic_string #include "ftxui/component/captured_mouse.hpp" // for ftxui -#include "ftxui/component/component.hpp" // for Button, Horizontal, Renderer -#include "ftxui/component/component_base.hpp" // for ComponentBase -#include "ftxui/component/component_options.hpp" // for ButtonOption +#include "ftxui/component/component.hpp" // for Button, Vertical, Renderer +#include "ftxui/component/component_base.hpp" // for ComponentBase #include "ftxui/component/screen_interactive.hpp" // for ScreenInteractive -#include "ftxui/dom/elements.hpp" // for separator, gauge, Element, operator|, vbox, border +#include "ftxui/dom/elements.hpp" // for separator, text, Element, operator|, vbox, border using namespace ftxui; @@ -24,13 +23,14 @@ void Nested(std::string path) { }); auto renderer = Renderer(layout, [&] { return vbox({ - text("path: " + path), - separator(), - back_button->Render(), - goto_1->Render(), - goto_2->Render(), - goto_3->Render(), - }) | border; + text("path: " + path), + separator(), + back_button->Render(), + goto_1->Render(), + goto_2->Render(), + goto_3->Render(), + }) | + border; }); screen.Loop(renderer); } @@ -40,8 +40,8 @@ int main(int argc, const char* argv[]) { auto button_quit = Button("Quit", screen.ExitLoopClosure()); auto button_nested = Button("Nested", [] { Nested(""); }); screen.Loop(Container::Vertical({ - button_quit, - button_nested, + button_quit, + button_nested, })); return 0; } diff --git a/examples/dom/separator_style.cpp b/examples/dom/separator_style.cpp index aaf2d22..f0bf6e2 100644 --- a/examples/dom/separator_style.cpp +++ b/examples/dom/separator_style.cpp @@ -1,10 +1,10 @@ -#include // for text, operator|, vbox, border, Element, Fit, hbox -#include // for Full, Screen -#include -#include // for allocator +#include // for Screen +#include // for endl, cout, ostream +#include // for allocator -#include "ftxui/dom/node.hpp" // for Render -#include "ftxui/screen/box.hpp" // for ftxui +#include "ftxui/dom/elements.hpp" // for text, hbox, separatorDouble, separatorHeavy, separatorLight, vbox, operator|, Element, Fit, borderDouble, borderHeavy, borderLight +#include "ftxui/dom/node.hpp" // for Render +#include "ftxui/screen/box.hpp" // for ftxui int main(int argc, const char* argv[]) { using namespace ftxui; diff --git a/include/ftxui/component/component.hpp b/include/ftxui/component/component.hpp index c2e6036..ea037aa 100644 --- a/include/ftxui/component/component.hpp +++ b/include/ftxui/component/component.hpp @@ -19,6 +19,7 @@ struct InputOption; struct MenuOption; struct RadioboxOption; struct ToggleOption; +struct MenuEntryOption; template std::shared_ptr Make(Args&&... args) { diff --git a/include/ftxui/component/component_options.hpp b/include/ftxui/component/component_options.hpp index 03a16b7..48249c6 100644 --- a/include/ftxui/component/component_options.hpp +++ b/include/ftxui/component/component_options.hpp @@ -43,11 +43,11 @@ struct ButtonOption { /// @brief Option for the Checkbox component. /// @ingroup component struct CheckboxOption { - std::string style_checked = "▣ "; ///< Prefix for a "checked" state. - std::string style_unchecked = "☐ "; ///< Prefix for a "unchecked" state. - Decorator style_normal = nothing; ///< style. - Decorator style_focused = inverted; ///< Style when focused. - Decorator style_selected = bold; ///< Style when selected. + std::string style_checked = "▣ "; ///< Prefix for a "checked" state. + std::string style_unchecked = "☐ "; ///< Prefix for a "unchecked" state. + Decorator style_normal = nothing; ///< style. + Decorator style_focused = inverted; ///< Style when focused. + Decorator style_selected = bold; ///< Style when selected. Decorator style_selected_focused = Decorator(inverted) | bold; ///< Style when selected and focused. @@ -74,8 +74,8 @@ struct InputOption { /// @brief Option for the Radiobox component. /// @ingroup component struct RadioboxOption { - std::string style_checked = "◉ "; ///< Prefix for a "checked" state. - std::string style_unchecked = "○ "; ///< Prefix for a "unchecked" state. + std::string style_checked = "◉ "; ///< Prefix for a "checked" state. + std::string style_unchecked = "○ "; ///< Prefix for a "unchecked" state. Decorator style_normal = nothing; ///< style. Decorator style_focused = inverted; ///< Style when focused. Decorator style_selected = bold; ///< Style when selected. diff --git a/include/ftxui/component/screen_interactive.hpp b/include/ftxui/component/screen_interactive.hpp index 5d53a9f..e6b0518 100644 --- a/include/ftxui/component/screen_interactive.hpp +++ b/include/ftxui/component/screen_interactive.hpp @@ -6,7 +6,7 @@ #include // for function #include // for shared_ptr #include // for string -#include +#include // for thread #include "ftxui/component/captured_mouse.hpp" // for CapturedMouse #include "ftxui/component/event.hpp" // for Event diff --git a/include/ftxui/screen/color.hpp b/include/ftxui/screen/color.hpp index 8ebd59a..0bc069b 100644 --- a/include/ftxui/screen/color.hpp +++ b/include/ftxui/screen/color.hpp @@ -2,7 +2,7 @@ #define FTXUI_SCREEN_COLOR #include // for uint8_t -#include // for wstring +#include // for wstring #ifdef RGB // Workaround for wingdi.h (via Windows.h) defining macros that break things. @@ -324,7 +324,7 @@ class Color { inline namespace literals { -/// @brief Creates a color from a combined hex RGB representation, +/// @brief Creates a color from a combined hex RGB representation, /// e.g. 0x808000_rgb Color operator""_rgb(unsigned long long int combined); diff --git a/iwyu.imp b/iwyu.imp index e1a5d3b..4f6902b 100644 --- a/iwyu.imp +++ b/iwyu.imp @@ -1,4 +1,5 @@ [ + { symbol: [ "char_traits", private, "", public ] }, { symbol: [ "ECHO", private, "", public ] }, { symbol: [ "ICANON", private, "", public ] }, { symbol: [ "TCSANOW", private, "", public ] }, diff --git a/src/ftxui/component/container.cpp b/src/ftxui/component/container.cpp index 7a087e4..4521295 100644 --- a/src/ftxui/component/container.cpp +++ b/src/ftxui/component/container.cpp @@ -1,13 +1,15 @@ #include // for size_t #include // for max, min -#include // for __shared_ptr_access, shared_ptr, make_shared, allocator, __shared_ptr_access<>::element_type, allocator_traits<>::value_type +#include // for make_shared, __shared_ptr_access, allocator, shared_ptr, allocator_traits<>::value_type #include // for move #include // for vector, __alloc_traits<>::value_type -#include "ftxui/component/component.hpp" // for Component, Components, Horizontal, Vertical, Tab -#include "ftxui/component/component_base.hpp" // for ComponentBase +#include "ftxui/component/component.hpp" // for Horizontal, Vertical, Tab +#include "ftxui/component/component_base.hpp" // for Components, Component, ComponentBase #include "ftxui/component/event.hpp" // for Event, Event::Tab, Event::TabReverse, Event::ArrowDown, Event::ArrowLeft, Event::ArrowRight, Event::ArrowUp -#include "ftxui/dom/elements.hpp" // for text, Elements, Element, hbox, vbox +#include "ftxui/component/mouse.hpp" // for Mouse, Mouse::WheelDown, Mouse::WheelUp +#include "ftxui/dom/elements.hpp" // for text, Elements, operator|, reflect, Element, hbox, vbox +#include "ftxui/screen/box.hpp" // for Box namespace ftxui { diff --git a/src/ftxui/component/menu.cpp b/src/ftxui/component/menu.cpp index e3d9382..d166b24 100644 --- a/src/ftxui/component/menu.cpp +++ b/src/ftxui/component/menu.cpp @@ -185,10 +185,10 @@ Component MenuEntry(ConstStringRef label, Ref option) { private: Element Render() override { bool focused = Focused(); - auto style = hovered_ ? (focused ? option_->style_selected_focused - : option_->style_selected) - : (focused ? option_->style_focused - : option_->style_normal); + auto style = + hovered_ ? (focused ? option_->style_selected_focused + : option_->style_selected) + : (focused ? option_->style_focused : option_->style_normal); auto focus_management = focused ? select : nothing; auto label = focused ? "> " + (*label_) // : " " + (*label_); diff --git a/src/ftxui/dom/border.cpp b/src/ftxui/dom/border.cpp index 4ad97ae..4d11f65 100644 --- a/src/ftxui/dom/border.cpp +++ b/src/ftxui/dom/border.cpp @@ -149,7 +149,6 @@ Element border(Element child) { return std::make_shared(unpack(std::move(child)), ROUNDED); } - /// @brief Same as border but with a constant Pixel around the element. /// @ingroup dom /// @see border diff --git a/src/ftxui/dom/box_helper.cpp b/src/ftxui/dom/box_helper.cpp index d90da2a..4fa8fa2 100644 --- a/src/ftxui/dom/box_helper.cpp +++ b/src/ftxui/dom/box_helper.cpp @@ -1,5 +1,7 @@ #include "ftxui/dom/box_helper.hpp" +#include // for max + namespace ftxui { namespace box_helper { @@ -83,3 +85,7 @@ void Compute(std::vector* elements, int target_size) { } // namespace box_helper } // namespace ftxui + +// Copyright 2021 Arthur Sonzogni. All rights reserved. +// Use of this source code is governed by the MIT license that can be found in +// the LICENSE file. diff --git a/src/ftxui/dom/box_helper.hpp b/src/ftxui/dom/box_helper.hpp index 9e0ebda..a0e9db6 100644 --- a/src/ftxui/dom/box_helper.hpp +++ b/src/ftxui/dom/box_helper.hpp @@ -22,3 +22,7 @@ void Compute(std::vector* elements, int target_size); } // namespace ftxui #endif /* end of include guard: FTXUI_DOM_BOX_HELPER_HPP */ + +// Copyright 2021 Arthur Sonzogni. All rights reserved. +// Use of this source code is governed by the MIT license that can be found in +// the LICENSE file. diff --git a/src/ftxui/dom/gauge.cpp b/src/ftxui/dom/gauge.cpp index 252b6c3..68de4cd 100644 --- a/src/ftxui/dom/gauge.cpp +++ b/src/ftxui/dom/gauge.cpp @@ -1,6 +1,6 @@ -#include -#include // for allocator, make_shared -#include // for string +#include // for max, min +#include // for allocator, make_shared +#include // for string #include "ftxui/dom/elements.hpp" // for Element, gauge #include "ftxui/dom/node.hpp" // for Node diff --git a/src/ftxui/dom/gridbox.cpp b/src/ftxui/dom/gridbox.cpp index be06ec1..0cd619c 100644 --- a/src/ftxui/dom/gridbox.cpp +++ b/src/ftxui/dom/gridbox.cpp @@ -1,16 +1,17 @@ -#include -#include // for max -#include // for __shared_ptr_access, shared_ptr, make_shared -#include // for move -#include // for vector +#include // for size_t +#include // for max, min +#include // for __shared_ptr_access, shared_ptr, make_shared, allocator_traits<>::value_type +#include // for move +#include // for vector, __alloc_traits<>::value_type -#include "ftxui/dom/box_helper.hpp" // for Requirement -#include "ftxui/dom/elements.hpp" // for Element, Elements, hbox +#include "ftxui/dom/box_helper.hpp" // for Element, Compute +#include "ftxui/dom/elements.hpp" // for Elements, filler, Element, gridbox #include "ftxui/dom/node.hpp" // for Node #include "ftxui/dom/requirement.hpp" // for Requirement #include "ftxui/screen/box.hpp" // for Box namespace ftxui { +class Screen; class GridBox : public Node { public: @@ -19,9 +20,9 @@ class GridBox : public Node { for (const auto& line : lines_) x_size = std::max(x_size, (int)line.size()); for (auto& line : lines_) { - while (line.size() < (size_t)y_size) { - line.push_back(filler()); - } + while (line.size() < (size_t)y_size) { + line.push_back(filler()); + } } } @@ -33,8 +34,8 @@ class GridBox : public Node { requirement_.flex_shrink_x = 0; requirement_.flex_shrink_y = 0; - for(auto& line : lines_) { - for(auto& cell : line) { + for (auto& line : lines_) { + for (auto& cell : line) { cell->ComputeRequirement(); // Determine focus based on the focused child. diff --git a/src/ftxui/dom/gridbox_test.cpp b/src/ftxui/dom/gridbox_test.cpp index a7506d7..c8dae79 100644 --- a/src/ftxui/dom/gridbox_test.cpp +++ b/src/ftxui/dom/gridbox_test.cpp @@ -1,11 +1,12 @@ #include // for Message #include // for SuiteApiResolver, TestFactoryImpl, TestPartResult +#include // for remove #include // for allocator, basic_string, string #include // for vector -#include "ftxui/dom/elements.hpp" // for text, operator|, Element, flex_grow, flex_shrink, gridbox -#include "ftxui/dom/node.hpp" // for Render -#include "ftxui/screen/box.hpp" // for ftxui +#include "ftxui/dom/elements.hpp" // for text, operator|, Element, flex, flex_grow, Elements, flex_shrink, vtext, gridbox, vbox, border +#include "ftxui/dom/node.hpp" // for Render +#include "ftxui/screen/box.hpp" // for ftxui #include "ftxui/screen/screen.hpp" // for Screen #include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST diff --git a/src/ftxui/dom/hbox.cpp b/src/ftxui/dom/hbox.cpp index 55bc115..e75a64c 100644 --- a/src/ftxui/dom/hbox.cpp +++ b/src/ftxui/dom/hbox.cpp @@ -1,11 +1,12 @@ +#include // for size_t #include // for max -#include // for __shared_ptr_access, shared_ptr, make_shared -#include // for move -#include // for vector +#include // for __shared_ptr_access, shared_ptr, make_shared, allocator_traits<>::value_type +#include // for move +#include // for vector, __alloc_traits<>::value_type -#include "ftxui/dom/box_helper.hpp" // for Box +#include "ftxui/dom/box_helper.hpp" // for Element, Compute #include "ftxui/dom/elements.hpp" // for Element, Elements, hbox -#include "ftxui/dom/node.hpp" // for Node +#include "ftxui/dom/node.hpp" // for Node, Elements #include "ftxui/dom/requirement.hpp" // for Requirement #include "ftxui/screen/box.hpp" // for Box diff --git a/src/ftxui/dom/reflect.cpp b/src/ftxui/dom/reflect.cpp index 75d5846..be86041 100644 --- a/src/ftxui/dom/reflect.cpp +++ b/src/ftxui/dom/reflect.cpp @@ -1,11 +1,12 @@ #include // for make_shared, __shared_ptr_access #include // for move -#include // for __alloc_traits<>::value_type, vector +#include // for __alloc_traits<>::value_type #include "ftxui/dom/elements.hpp" // for Element, unpack, Decorator, reflect -#include "ftxui/dom/node.hpp" // for Node +#include "ftxui/dom/node.hpp" // for Node, Elements #include "ftxui/dom/requirement.hpp" // for Requirement #include "ftxui/screen/box.hpp" // for Box +#include "ftxui/screen/screen.hpp" // for Screen namespace ftxui { diff --git a/src/ftxui/dom/vbox.cpp b/src/ftxui/dom/vbox.cpp index f3eac99..82417e1 100644 --- a/src/ftxui/dom/vbox.cpp +++ b/src/ftxui/dom/vbox.cpp @@ -1,11 +1,12 @@ +#include // for size_t #include // for max -#include // for __shared_ptr_access, shared_ptr, make_shared -#include // for move -#include // for vector +#include // for __shared_ptr_access, shared_ptr, make_shared, allocator_traits<>::value_type +#include // for move +#include // for vector, __alloc_traits<>::value_type -#include "ftxui/dom/box_helper.hpp" // for Box +#include "ftxui/dom/box_helper.hpp" // for Element, Compute #include "ftxui/dom/elements.hpp" // for Element, Elements, vbox -#include "ftxui/dom/node.hpp" // for Node +#include "ftxui/dom/node.hpp" // for Node, Elements #include "ftxui/dom/requirement.hpp" // for Requirement #include "ftxui/screen/box.hpp" // for Box diff --git a/src/ftxui/screen/screen.cpp b/src/ftxui/screen/screen.cpp index e2b333b..f323c50 100644 --- a/src/ftxui/screen/screen.cpp +++ b/src/ftxui/screen/screen.cpp @@ -1,7 +1,9 @@ +#include // for uint16_t #include // for operator<<, stringstream, basic_ostream, flush, cout, ostream -#include -#include // for allocator +#include // for _Rb_tree_const_iterator, map, operator!=, operator== +#include // for allocator, allocator_traits<>::value_type #include // IWYU pragma: keep +#include // for pair #include "ftxui/screen/screen.hpp" #include "ftxui/screen/string.hpp" // for string_width