mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-10-31 10:38:09 +08:00 
			
		
		
		
	Add clang-tidy. (#368)
This commit is contained in:
		| @@ -8,7 +8,7 @@ | ||||
| #include <vector>      // for vector | ||||
|  | ||||
| #include "ftxui/component/component_base.hpp"     // for Component, Components | ||||
| #include "ftxui/component/component_options.hpp"  // for ButtonOption, CheckboxOption (ptr only), InputOption (ptr only), MenuEntryOption (ptr only), MenuOption, RadioboxOption (ptr only) | ||||
| #include "ftxui/component/component_options.hpp"  // for ButtonOption, CheckboxOption, InputOption (ptr only), MenuEntryOption (ptr only), MenuOption, RadioboxOption (ptr only) | ||||
| #include "ftxui/dom/elements.hpp"                 // for Element | ||||
| #include "ftxui/util/ref.hpp"  // for Ref, ConstStringRef, ConstStringListRef, StringRef | ||||
|  | ||||
|   | ||||
| @@ -3,11 +3,11 @@ | ||||
|  | ||||
| #include <chrono>                         // for milliseconds | ||||
| #include <ftxui/component/animation.hpp>  // for Duration, QuadraticInOut, Function | ||||
| #include <ftxui/dom/elements.hpp>  // for Decorator, bold, inverted, operator|, Element, nothing | ||||
| #include <ftxui/util/ref.hpp>  // for Ref | ||||
| #include <functional>          // for function | ||||
| #include <optional>            // for optional | ||||
| #include <string>              // for string, allocator | ||||
| #include <ftxui/dom/elements.hpp>         // for Element | ||||
| #include <ftxui/util/ref.hpp>             // for Ref | ||||
| #include <functional>                     // for function | ||||
| #include <optional>                       // for optional | ||||
| #include <string>                         // for string | ||||
|  | ||||
| #include "ftxui/screen/color.hpp"  // for Color, Color::GrayDark, Color::White | ||||
|  | ||||
| @@ -17,10 +17,10 @@ namespace ftxui { | ||||
| /// |Radiobox::transform|, |MenuEntryOption::transform|, | ||||
| /// |MenuOption::transform|. | ||||
| struct EntryState { | ||||
|   std::string label; /// < The label to display. | ||||
|   bool state;        /// < The state of the button/checkbox/radiobox | ||||
|   bool active;       /// < Whether the entry is the active one. | ||||
|   bool focused;      /// < Whether the entry is one focused by the user. | ||||
|   std::string label;  /// < The label to display. | ||||
|   bool state;         /// < The state of the button/checkbox/radiobox | ||||
|   bool active;        /// < Whether the entry is the active one. | ||||
|   bool focused;       /// < Whether the entry is one focused by the user. | ||||
| }; | ||||
|  | ||||
| struct UnderlineOption { | ||||
| @@ -70,7 +70,7 @@ struct AnimatedColorsOption { | ||||
| /// @brief Option for the MenuEntry component. | ||||
| /// @ingroup component | ||||
| struct MenuEntryOption { | ||||
|   std::function<Element(EntryState state)> transform; | ||||
|   std::function<Element(const EntryState& state)> transform; | ||||
|   AnimatedColorsOption animated_colors; | ||||
| }; | ||||
|  | ||||
| @@ -115,7 +115,7 @@ struct ButtonOption { | ||||
|                                Color foreground_active); | ||||
|  | ||||
|   // Style: | ||||
|   std::function<Element(EntryState)> transform; | ||||
|   std::function<Element(const EntryState&)> transform; | ||||
|   AnimatedColorsOption animated_colors; | ||||
| }; | ||||
|  | ||||
| @@ -126,7 +126,7 @@ struct CheckboxOption { | ||||
|   static CheckboxOption Simple(); | ||||
|  | ||||
|   // Style: | ||||
|   std::function<Element(EntryState)> transform; | ||||
|   std::function<Element(const EntryState&)> transform; | ||||
|  | ||||
|   // Observer: | ||||
|   /// Called when the user change the state. | ||||
| @@ -156,7 +156,7 @@ struct RadioboxOption { | ||||
|   static RadioboxOption Simple(); | ||||
|  | ||||
|   // Style: | ||||
|   std::function<Element(EntryState)> transform; | ||||
|   std::function<Element(const EntryState&)> transform; | ||||
|  | ||||
|   // Observers: | ||||
|   /// Called when the selected entry changes. | ||||
|   | ||||
| @@ -54,7 +54,7 @@ struct Event { | ||||
|   static const Event PageDown; | ||||
|  | ||||
|   // --- Custom --- | ||||
|   static Event Custom; | ||||
|   static const Event Custom; | ||||
|  | ||||
|   //--- Method section --------------------------------------------------------- | ||||
|   bool is_character() const { return type_ == Type::Character; } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| #ifndef FTXUI_DOM_CANVAS_HPP | ||||
| #define FTXUI_DOM_CANVAS_HPP | ||||
|  | ||||
| #include <stddef.h>       // for size_t | ||||
| #include <cstddef>        // for size_t | ||||
| #include <functional>     // for function | ||||
| #include <string>         // for string | ||||
| #include <unordered_map>  // for unordered_map | ||||
| @@ -13,7 +13,7 @@ namespace ftxui { | ||||
|  | ||||
| struct Canvas { | ||||
|  public: | ||||
|   Canvas() {} | ||||
|   Canvas() = default; | ||||
|   Canvas(int width, int height); | ||||
|  | ||||
|   // Getters: | ||||
| @@ -114,7 +114,8 @@ struct Canvas { | ||||
|  | ||||
|   struct XYHash { | ||||
|     size_t operator()(const XY& xy) const { | ||||
|       return static_cast<size_t>(xy.x * 1024 + xy.y); | ||||
|       constexpr size_t shift = 1024; | ||||
|       return size_t(xy.x) * shift + size_t(xy.y); | ||||
|     } | ||||
|   }; | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #ifndef FTXUI_DOM_DEPRECRATED_HPP | ||||
| #define FTXUI_DOM_DEPRECRATED_HPP | ||||
| #ifndef FTXUI_DOM_DEPRECATED_HPP | ||||
| #define FTXUI_DOM_DEPRECATED_HPP | ||||
|  | ||||
| #include "ftxui/dom/elements.hpp" | ||||
|  | ||||
| @@ -9,7 +9,7 @@ Element vtext(std::wstring text); | ||||
| Elements paragraph(std::wstring text); | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_DOM_DEPRECRATED_HPP */ | ||||
| #endif  // FTXUI_DOM_DEPRECATED_HPP | ||||
|  | ||||
| // Copyright 2021 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -35,7 +35,7 @@ Decorator operator|(Decorator, Decorator); | ||||
| // --- Widget --- | ||||
| Element text(std::string text); | ||||
| Element vtext(std::string text); | ||||
| Element separator(void); | ||||
| Element separator(); | ||||
| Element separatorLight(); | ||||
| Element separatorHeavy(); | ||||
| Element separatorDouble(); | ||||
| @@ -45,18 +45,18 @@ Element separator(Pixel); | ||||
| Element separatorCharacter(std::string); | ||||
| Element separatorHSelector(float left, | ||||
|                            float right, | ||||
|                            Color background, | ||||
|                            Color foreground); | ||||
|                            Color unselected_color, | ||||
|                            Color selected_color); | ||||
| Element separatorVSelector(float up, | ||||
|                            float down, | ||||
|                            Color background, | ||||
|                            Color foreground); | ||||
| Element gauge(float ratio); | ||||
| Element gaugeLeft(float ratio); | ||||
| Element gaugeRight(float ratio); | ||||
| Element gaugeUp(float ratio); | ||||
| Element gaugeDown(float ratio); | ||||
| Element gaugeDirection(float ratio, GaugeDirection); | ||||
|                            Color unselected_color, | ||||
|                            Color selected_color); | ||||
| Element gauge(float progress); | ||||
| Element gaugeLeft(float progress); | ||||
| Element gaugeRight(float progress); | ||||
| Element gaugeUp(float progress); | ||||
| Element gaugeDown(float progress); | ||||
| Element gaugeDirection(float progress, GaugeDirection); | ||||
| Element border(Element); | ||||
| Element borderLight(Element); | ||||
| Element borderHeavy(Element); | ||||
| @@ -64,14 +64,14 @@ Element borderDouble(Element); | ||||
| Element borderRounded(Element); | ||||
| Element borderEmpty(Element); | ||||
| Decorator borderStyled(BorderStyle); | ||||
| Decorator borderWith(Pixel); | ||||
| Decorator borderWith(const Pixel&); | ||||
| Element window(Element title, Element content); | ||||
| Element spinner(int charset_index, size_t image_index); | ||||
| Element paragraph(std::string text); | ||||
| Element paragraphAlignLeft(std::string text); | ||||
| Element paragraphAlignRight(std::string text); | ||||
| Element paragraphAlignCenter(std::string text); | ||||
| Element paragraphAlignJustify(std::string text); | ||||
| Element paragraph(const std::string& text); | ||||
| Element paragraphAlignLeft(const std::string& text); | ||||
| Element paragraphAlignRight(const std::string& text); | ||||
| Element paragraphAlignCenter(const std::string& text); | ||||
| Element paragraphAlignJustify(const std::string& text); | ||||
| Element graph(GraphFunction); | ||||
| Element emptyElement(); | ||||
| Element canvas(ConstRef<Canvas>); | ||||
| @@ -90,7 +90,7 @@ Element color(Color, Element); | ||||
| Element bgcolor(Color, Element); | ||||
| Decorator focusPosition(int x, int y); | ||||
| Decorator focusPositionRelative(float x, float y); | ||||
| Element automerge(Element); | ||||
| Element automerge(Element child); | ||||
|  | ||||
| // --- Layout is | ||||
| // Horizontal, Vertical or stacked set of elements. | ||||
| @@ -163,7 +163,7 @@ Dimensions Fit(Element&); | ||||
|  | ||||
| // Include old definitions using wstring. | ||||
| #include "ftxui/dom/deprecated.hpp" | ||||
| #endif /* end of include guard: FTXUI_DOM_ELEMENTS_HPP */ | ||||
| #endif  // FTXUI_DOM_ELEMENTS_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -108,7 +108,7 @@ struct FlexboxConfig { | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_DOM_FLEXBOX_CONFIG_HPP */ | ||||
| #endif  // FTXUI_DOM_FLEXBOX_CONFIG_HPP | ||||
|  | ||||
| // Copyright 2021 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -20,6 +20,11 @@ class Node { | ||||
|  public: | ||||
|   Node(); | ||||
|   Node(Elements children); | ||||
|   Node(const Node&) = delete; | ||||
|   Node(const Node&&) = delete; | ||||
|   Node& operator=(const Node&) = delete; | ||||
|   Node& operator=(const Node&&) = delete; | ||||
|  | ||||
|   virtual ~Node(); | ||||
|  | ||||
|   // Step 1: Compute layout requirement. Tell parent what dimensions this | ||||
| @@ -50,12 +55,12 @@ class Node { | ||||
|   Box box_; | ||||
| }; | ||||
|  | ||||
| void Render(Screen& screen, const Element& node); | ||||
| void Render(Screen& screen, const Element& element); | ||||
| void Render(Screen& screen, Node* node); | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_DOM_NODE_HPP */ | ||||
| #endif  // FTXUI_DOM_NODE_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -28,7 +28,7 @@ struct Requirement { | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_DOM_REQUIREMENT_HPP */ | ||||
| #endif  // FTXUI_DOM_REQUIREMENT_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -52,10 +52,10 @@ class Table { | ||||
|   void Initialize(std::vector<std::vector<Element>>); | ||||
|   friend TableSelection; | ||||
|   std::vector<std::vector<Element>> elements_; | ||||
|   int input_dim_x_; | ||||
|   int input_dim_y_; | ||||
|   int dim_x_; | ||||
|   int dim_y_; | ||||
|   int input_dim_x_ = 0; | ||||
|   int input_dim_y_ = 0; | ||||
|   int dim_x_ = 0; | ||||
|   int dim_y_ = 0; | ||||
| }; | ||||
|  | ||||
| class TableSelection { | ||||
|   | ||||
| @@ -1,10 +1,13 @@ | ||||
| #ifndef FTXUI_DOM_TAKE_ANY_ARGS_HPP | ||||
| #define FTXUI_DOM_TAKE_ANY_ARGS_HPP | ||||
|  | ||||
| // IWYU pragma: private, include "ftxui/dom/elements.hpp" | ||||
| #include <type_traits> | ||||
|  | ||||
| namespace ftxui { | ||||
|  | ||||
| template <class T> | ||||
| void Merge(Elements&, T) {} | ||||
| void Merge(Elements& /*container*/, T /*element*/) {} | ||||
|  | ||||
| template <> | ||||
| inline void Merge(Elements& container, Element element) { | ||||
| @@ -38,6 +41,8 @@ TAKE_ANY_ARGS(dbox) | ||||
| TAKE_ANY_ARGS(hflow) | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif  // FTXUI_DOM_TAKE_ANY_ARGS_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
| // the LICENSE file. | ||||
|   | ||||
| @@ -9,15 +9,15 @@ struct Box { | ||||
|   int y_min = 0; | ||||
|   int y_max = 0; | ||||
|  | ||||
|   static Box Intersection(Box a, Box b); | ||||
|   bool Contain(int x, int y); | ||||
|   static auto Intersection(Box a, Box b) -> Box; | ||||
|   bool Contain(int x, int y) const; | ||||
|   bool operator==(const Box& other) const; | ||||
|   bool operator!=(const Box& other) const; | ||||
| }; | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_SCREEN_BOX_HPP */ | ||||
| #endif  // FTXUI_SCREEN_BOX_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| #ifndef FTXUI_SCREEN_COLOR | ||||
| #define FTXUI_SCREEN_COLOR | ||||
| #ifndef FTXUI_SCREEN_COLOR_HPP | ||||
| #define FTXUI_SCREEN_COLOR_HPP | ||||
|  | ||||
| #include <stdint.h>  // for uint8_t | ||||
| #include <string>    // for wstring | ||||
| #include <cstdint>  // for uint8_t | ||||
| #include <string>   // for wstring | ||||
|  | ||||
| #ifdef RGB | ||||
| // Workaround for wingdi.h (via Windows.h) defining macros that break things. | ||||
| @@ -313,12 +313,8 @@ class Color { | ||||
|     Palette256, | ||||
|     TrueColor, | ||||
|   }; | ||||
|  | ||||
|   ColorType type_; | ||||
|   union { | ||||
|     uint8_t index_ = 0; | ||||
|     uint8_t red_; | ||||
|   }; | ||||
|   ColorType type_ = ColorType::Palette1; | ||||
|   uint8_t red_ = 0; | ||||
|   uint8_t green_ = 0; | ||||
|   uint8_t blue_ = 0; | ||||
| }; | ||||
| @@ -333,7 +329,7 @@ Color operator""_rgb(unsigned long long int combined); | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_COLOR_H_ */ | ||||
| #endif  // FTXUI_SCREEN_COLOR_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| #ifndef FTXUI_SCREEN_COLOR_INFO_HPP | ||||
| #define FTXUI_SCREEN_COLOR_INFO_HPP | ||||
|  | ||||
| #include <stdint.h> | ||||
| #include <cstdint> | ||||
| #include <ftxui/screen/color.hpp> | ||||
|  | ||||
| namespace ftxui { | ||||
| @@ -23,7 +23,7 @@ ColorInfo GetColorInfo(Color::Palette16 index); | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_SCREEN_COLOR_INFO_HPP */ | ||||
| #endif  // FTXUI_SCREEN_COLOR_INFO_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -8,7 +8,7 @@ int wchar_width(wchar_t); | ||||
| int wstring_width(const std::wstring&); | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_SCREEN_DEPRECATED_HPP */ | ||||
| #endif  // FTXUI_SCREEN_DEPRECATED_HPP | ||||
|  | ||||
| // Copyright 2021 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #ifndef FTXUI_SCREEN_SCREEN | ||||
| #define FTXUI_SCREEN_SCREEN | ||||
| #ifndef FTXUI_SCREEN_SCREEN_HPP | ||||
| #define FTXUI_SCREEN_SCREEN_HPP | ||||
|  | ||||
| #include <memory> | ||||
| #include <string>  // for string, allocator, basic_string | ||||
| @@ -14,6 +14,8 @@ namespace ftxui { | ||||
| /// @brief A unicode character and its associated style. | ||||
| /// @ingroup screen | ||||
| struct Pixel { | ||||
|   bool operator==(const Pixel& other) const; | ||||
|  | ||||
|   // The graphemes stored into the pixel. To support combining characters, | ||||
|   // like: a⃦, this can potentially contains multiple codepoitns. | ||||
|   std::string character = " "; | ||||
| @@ -68,13 +70,12 @@ class Screen { | ||||
|   int dimy() const { return dimy_; } | ||||
|  | ||||
|   // Move the terminal cursor n-lines up with n = dimy(). | ||||
|   std::string ResetPosition(bool clear = false); | ||||
|   std::string ResetPosition(bool clear = false) const; | ||||
|  | ||||
|   // Fill with space. | ||||
|   void Clear(); | ||||
|  | ||||
|   void ApplyShader(); | ||||
|   Box stencil; | ||||
|  | ||||
|   struct Cursor { | ||||
|     int x = 0; | ||||
| @@ -83,16 +84,20 @@ class Screen { | ||||
|   Cursor cursor() const { return cursor_; } | ||||
|   void SetCursor(Cursor cursor) { cursor_ = cursor; } | ||||
|  | ||||
|   Box stencil; | ||||
|  | ||||
|  protected: | ||||
|   int dimx_; | ||||
|   int dimy_; | ||||
|   std::vector<std::vector<Pixel>> pixels_; | ||||
|   Cursor cursor_; | ||||
|  | ||||
|  private: | ||||
| }; | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_SCREEN_SCREEN */ | ||||
| #endif  // FTXUI_SCREEN_SCREEN_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #ifndef FTXUI_CORE_TERMINAL_HPP | ||||
| #define FTXUI_CORE_TERMINAL_HPP | ||||
| #ifndef FTXUI_SCREEN_TERMINAL_HPP | ||||
| #define FTXUI_SCREEN_TERMINAL_HPP | ||||
|  | ||||
| namespace ftxui { | ||||
| struct Dimensions { | ||||
| @@ -22,7 +22,7 @@ Color ColorSupport(); | ||||
|  | ||||
| }  // namespace ftxui | ||||
|  | ||||
| #endif /* end of include guard: FTXUI_CORE_TERMINAL_HPP */ | ||||
| #endif  // FTXUI_SCREEN_TERMINAL_HPP | ||||
|  | ||||
| // Copyright 2020 Arthur Sonzogni. All rights reserved. | ||||
| // Use of this source code is governed by the MIT license that can be found in | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Arthur Sonzogni
					Arthur Sonzogni