2 Commits

Author SHA1 Message Date
ArthurSonzogni
f4fdf7a992 Fixes. 2025-06-04 11:42:35 +02:00
ArthurSonzogni
c302ea0752 Use lowercase filenames. 2025-06-03 19:25:16 +02:00
40 changed files with 159 additions and 166 deletions

View File

@@ -7,41 +7,41 @@ add_library(ftxui-modules)
target_sources(ftxui-modules
PUBLIC FILE_SET CXX_MODULES FILES
src/ftxui/component.cppm
src/ftxui/component/Animation.cppm
src/ftxui/component/CapturedMouse.cppm
src/ftxui/component/Component.cppm
src/ftxui/component/ComponentBase.cppm
src/ftxui/component/ComponentOptions.cppm
src/ftxui/component/Event.cppm
src/ftxui/component/Loop.cppm
src/ftxui/component/Mouse.cppm
src/ftxui/component/Receiver.cppm
src/ftxui/component/ScreenInteractive.cppm
src/ftxui/component/Task.cppm
src/ftxui/component/animation.cppm
src/ftxui/component/captured_mouse.cppm
src/ftxui/component/component.cppm
src/ftxui/component/component_base.cppm
src/ftxui/component/component_options.cppm
src/ftxui/component/event.cppm
src/ftxui/component/loop.cppm
src/ftxui/component/mouse.cppm
src/ftxui/component/receiver.cppm
src/ftxui/component/screen_interactive.cppm
src/ftxui/component/task.cppm
src/ftxui/dom.cppm
src/ftxui/dom/Canvas.cppm
src/ftxui/dom/Deprecated.cppm
src/ftxui/dom/Direction.cppm
src/ftxui/dom/Elements.cppm
src/ftxui/dom/FlexboxConfig.cppm
src/ftxui/dom/LinearGradient.cppm
src/ftxui/dom/Node.cppm
src/ftxui/dom/Requirement.cppm
src/ftxui/dom/Selection.cppm
src/ftxui/dom/Table.cppm
src/ftxui/dom/canvas.cppm
src/ftxui/dom/deprecated.cppm
src/ftxui/dom/direction.cppm
src/ftxui/dom/elements.cppm
src/ftxui/dom/flexbox_config.cppm
src/ftxui/dom/linear_gradient.cppm
src/ftxui/dom/node.cppm
src/ftxui/dom/requirement.cppm
src/ftxui/dom/selection.cppm
src/ftxui/dom/table.cppm
src/ftxui/screen.cppm
src/ftxui/screen/Box.cppm
src/ftxui/screen/Color.cppm
src/ftxui/screen/ColorInfo.cppm
src/ftxui/screen/Deprecated.cppm
src/ftxui/screen/Image.cppm
src/ftxui/screen/Pixel.cppm
src/ftxui/screen/Screen.cppm
src/ftxui/screen/String.cppm
src/ftxui/screen/Terminal.cppm
src/ftxui/screen/box.cppm
src/ftxui/screen/color.cppm
src/ftxui/screen/color_info.cppm
src/ftxui/screen/deprecated.cppm
src/ftxui/screen/image.cppm
src/ftxui/screen/pixel.cppm
src/ftxui/screen/screen.cppm
src/ftxui/screen/string.cppm
src/ftxui/screen/terminal.cppm
src/ftxui/util.cppm
src/ftxui/util/AutoReset.cppm
src/ftxui/util/Ref.cppm
src/ftxui/util/autoreset.cppm
src/ftxui/util/ref.cppm
)
target_link_libraries(ftxui-modules
@@ -52,6 +52,7 @@ target_link_libraries(ftxui-modules
)
target_compile_features(ftxui-modules PUBLIC cxx_std_20)
# TODO: Explain why this is needed.
if (CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(ftxui-modules PUBLIC -fmodules-ts)
endif ()

View File

@@ -1,5 +1,7 @@
@page cpp20-modules C++20 Modules
coucou
> [!WARNING]
> This feature is still in development, and the API may change in future releases.
> Your contribution is needed to help us improve the compatibility and usability
@@ -57,36 +59,27 @@ are available:
- `ftxui.component.Receiver`
- `ftxui.component.ScreenInteractive`
- `ftxui.component.Task`
- `ftxui.dom`
- `ftxui.dom.Canvas`
- `ftxui.dom.Deprecated`
- `ftxui.dom.Direction`
- `ftxui.dom.Elements`
- `ftxui.dom.FlexboxConfig`
- `ftxui.dom.LinearGradient`
- `ftxui.dom.Node`
- `ftxui.dom.Requirement`
- `ftxui.dom.Selection`
- `ftxui.dom.Table`
- `ftxui.screen`
- `ftxui.screen.Box`
- `ftxui.screen.Color`
- `ftxui.screen.ColorInfo`
- `ftxui.screen.Deprecated`
- `ftxui.screen.Image`
- `ftxui.screen.Pixel`
- `ftxui.screen.Screen`
- `ftxui.screen.String`
- `ftxui.screen.Terminal`
- `ftxui.util`
- `ftxui.util.AutoReset`
- `ftxui.util.Ref`
> ![NOTE]
> The module `ftxui` transitively imports all `ftxui.*` modules and thus
> has a dependency on those modules.
> ![NOTE] The list can be generated with the following command:
> ```sh
> git grep "export module" | cut -d: -f2 | cut -d\ -f3
> ```
- `ftxui.dom`
- `ftxui.dom.Canvas`
- `ftxui.dom.Deprecated`
- `ftxui.dom.Direction`
- `ftxui.dom.Elements`
- `ftxui.dom.FlexboxConfig`
- `ftxui.dom.LinearGradient`
- `ftxui.dom.Node`
- `ftxui.dom.Requirement`
- `ftxui.dom.Selection`
- `ftxui.dom.Table`
- `ftxui.screen`
- `ftxui.screen.Box`
- `ftxui.screen.Color`
- `ftxui.screen.ColorInfo`
- `ftxui.screen.Deprecated`
- `ftxui.screen.Image`
- `ftxui.screen.Pixel`
- `ftxui.screen.Screen`
- `ftxui.screen.String`
- `ftxui.screen.Terminal`
- `ftxui.util`
- `ftxui.util.AutoReset`
- `ftxui.util.Ref`

View File

@@ -108,7 +108,6 @@
console.log("navtree.textContent", navtree.textContent);
if (!navtree.textContent.includes("Getting Started") &&
!navtree.textContent.includes("Installation") &&
!navtree.textContent.includes("Modules") &&
!navtree.textContent.includes("ftxui / screen") &&
!navtree.textContent.includes("ftxui / dom") &&
!navtree.textContent.includes("ftxui / component") &&

View File

@@ -1,4 +1,4 @@
# Modules {#modules}
# ftxui {#ftxui}
![title-img](https://nsm09.casimages.com/img/2025/05/30//2505300816063242518595251.jpg)

View File

@@ -5,14 +5,14 @@
export module ftxui.component;
export import ftxui.component.Animation;
export import ftxui.component.CapturedMouse;
export import ftxui.component.Component;
export import ftxui.component.ComponentBase;
export import ftxui.component.ComponentOptions;
export import ftxui.component.Event;
export import ftxui.component.Loop;
export import ftxui.component.Mouse;
export import ftxui.component.Receiver;
export import ftxui.component.ScreenInteractive;
export import ftxui.component.Task;
export import ftxui.component.animation;
export import ftxui.component.captured_mouse;
export import ftxui.component.component;
export import ftxui.component.component_base;
export import ftxui.component.component_options;
export import ftxui.component.event;
export import ftxui.component.loop;
export import ftxui.component.mouse;
export import ftxui.component.receiver;
export import ftxui.component.screen_interactive;
export import ftxui.component.task;

View File

@@ -1,13 +1,13 @@
/**
* @file Animation.cppm
* @brief Module file for the Animation namespace of the Component module
*/
/// @module ftxui.component.animation
/// @brief Module file for the Animation namespace of the Component module.
///
/// @file animation.cppm
module;
#include <ftxui/component/animation.hpp>
export module ftxui.component.Animation;
export module ftxui.component.animation;
/**
* @namespace ftxui::animation

View File

@@ -1,5 +1,5 @@
/**
* @file CapturedMouse.cppm
* @file captured_mouse.cppm
* @brief Module file for the CapturedMouseInterface class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/captured_mouse.hpp>
export module ftxui.component.CapturedMouse;
export module ftxui.component.captured_mouse;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Component.cppm
* @file component.cppm
* @brief Module file for the Component classes of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/component.hpp>
export module ftxui.component.Component;
export module ftxui.component.component;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file ComponentBase.cppm
* @file component_base.cppm
* @brief Module file for the ComponentBase class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/component_base.hpp>
export module ftxui.component.ComponentBase;
export module ftxui.component.component_base;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file ComponentOptions.cppm
* @file component_options.cppm
* @brief Module file for options for the Component class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/component_options.hpp>
export module ftxui.component.ComponentOptions;
export module ftxui.component.component_options;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Event.cppm
* @file event.cppm
* @brief Module file for the Event struct of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/event.hpp>
export module ftxui.component.Event;
export module ftxui.component.event;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Loop.cppm
* @file loop.cppm
* @brief Module file for the Loop class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/loop.hpp>
export module ftxui.component.Loop;
export module ftxui.component.loop;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Mouse.cppm
* @file mouse.cppm
* @brief Module file for the Mouse struct of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/mouse.hpp>
export module ftxui.component.Mouse;
export module ftxui.component.mouse;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Receiver.cppm
* @file receiver.cppm
* @brief Module file for the Receiver class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/receiver.hpp>
export module ftxui.component.Receiver;
export module ftxui.component.receiver;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file ScreenInteractive.cppm
* @file screen_interactive.cppm
* @brief Module file for the ScreenInteractive class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/screen_interactive.hpp>
export module ftxui.component.ScreenInteractive;
export module ftxui.component.screen_interactive;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Task.cppm
* @file task.cppm
* @brief Module file for the Task class of the Component module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/component/task.hpp>
export module ftxui.component.Task;
export module ftxui.component.task;
/**
* @namespace ftxui

View File

@@ -5,13 +5,13 @@
export module ftxui.dom;
export import ftxui.dom.Canvas;
export import ftxui.dom.Deprecated;
export import ftxui.dom.Direction;
export import ftxui.dom.Elements;
export import ftxui.dom.FlexboxConfig;
export import ftxui.dom.LinearGradient;
export import ftxui.dom.Node;
export import ftxui.dom.Requirement;
export import ftxui.dom.Selection;
export import ftxui.dom.Table;
export import ftxui.dom.canvas;
export import ftxui.dom.deprecated;
export import ftxui.dom.direction;
export import ftxui.dom.elements;
export import ftxui.dom.flexbox_config;
export import ftxui.dom.linear_gradient;
export import ftxui.dom.node;
export import ftxui.dom.requirement;
export import ftxui.dom.selection;
export import ftxui.dom.table;

View File

@@ -1,5 +1,5 @@
/**
* @file Canvas.cppm
* @file canvas.cppm
* @brief Module file for the Canvas struct of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/canvas.hpp>
export module ftxui.dom.Canvas;
export module ftxui.dom.canvas;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Deprecated.cppm
* @file deprecated.cppm
* @brief Module file for deprecated parts of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/deprecated.hpp>
export module ftxui.dom.Deprecated;
export module ftxui.dom.deprecated;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Direction.cppm
* @file direction.cppm
* @brief Module file for the Direction enum of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/direction.hpp>
export module ftxui.dom.Direction;
export module ftxui.dom.direction;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Canvas.cppm
* @file canvas.cppm
* @brief Module file for the Element classes and functions of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/elements.hpp>
export module ftxui.dom.Elements;
export module ftxui.dom.elements;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file FlexboxConfig.cppm
* @file flexbox_config.cppm
* @brief Module file for the FlexboxConfig struct of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/flexbox_config.hpp>
export module ftxui.dom.FlexboxConfig;
export module ftxui.dom.flexbox_config;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file LinearGradient.cppm
* @file linear_gradient.cppm
* @brief Module file for the LinearGradient struct of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/linear_gradient.hpp>
export module ftxui.dom.LinearGradient;
export module ftxui.dom.linear_gradient;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Node.cppm
* @file node.cppm
* @brief Module file for the Node class of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/node.hpp>
export module ftxui.dom.Node;
export module ftxui.dom.node;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Requirement.cppm
* @file requirement.cppm
* @brief Module file for the Requirement struct of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/requirement.hpp>
export module ftxui.dom.Requirement;
export module ftxui.dom.requirement;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Selection.cppm
* @file selection.cppm
* @brief Module file for the Selection class of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/selection.hpp>
export module ftxui.dom.Selection;
export module ftxui.dom.selection;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Table.cppm
* @file table.cppm
* @brief Module file for the Table class of the Dom module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/dom/table.hpp>
export module ftxui.dom.Table;
export module ftxui.dom.table;
/**
* @namespace ftxui

View File

@@ -5,12 +5,12 @@
export module ftxui.screen;
export import ftxui.screen.Box;
export import ftxui.screen.Color;
export import ftxui.screen.ColorInfo;
export import ftxui.screen.Deprecated;
export import ftxui.screen.Image;
export import ftxui.screen.Pixel;
export import ftxui.screen.Screen;
export import ftxui.screen.String;
export import ftxui.screen.Terminal;
export import ftxui.screen.box;
export import ftxui.screen.color;
export import ftxui.screen.color_info;
export import ftxui.screen.deprecated;
export import ftxui.screen.image;
export import ftxui.screen.pixel;
export import ftxui.screen.screen;
export import ftxui.screen.string;
export import ftxui.screen.terminal;

View File

@@ -1,5 +1,5 @@
/**
* @file Box.cppm
* @file box.cppm
* @brief Module file for the Box struct of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/box.hpp>
export module ftxui.screen.Box;
export module ftxui.screen.box;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Color.cppm
* @file color.cppm
* @brief Module file for the Color class of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/color.hpp>
export module ftxui.screen.Color;
export module ftxui.screen.color;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file ColorInfo.cppm
* @file color_info.cppm
* @brief Module file for the ColorInfo struct of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/color_info.hpp>
export module ftxui.screen.ColorInfo;
export module ftxui.screen.color_info;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Box.cppm
* @file box.cppm
* @brief Module file for the deprecated parts of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/deprecated.hpp>
export module ftxui.screen.Deprecated;
export module ftxui.screen.deprecated;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Image.cppm
* @file image.cppm
* @brief Module file for the Image class of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/image.hpp>
export module ftxui.screen.Image;
export module ftxui.screen.image;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Pixel.cppm
* @file pixel.cppm
* @brief Module file for the Pixel struct of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/pixel.hpp>
export module ftxui.screen.Pixel;
export module ftxui.screen.pixel;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Screen.cppm
* @file screen.cppm
* @brief Module file for the Screen class of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/screen.hpp>
export module ftxui.screen.Screen;
export module ftxui.screen.screen;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file String.cppm
* @file string.cppm
* @brief Module file for string functions of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/string.hpp>
export module ftxui.screen.String;
export module ftxui.screen.string;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Terminal.cppm
* @file terminal.cppm
* @brief Module file for the Terminal namespace of the Screen module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/screen/terminal.hpp>
export module ftxui.screen.Terminal;
export module ftxui.screen.terminal;
/**
* @namespace ftxui

View File

@@ -5,5 +5,5 @@
export module ftxui.util;
export import ftxui.util.AutoReset;
export import ftxui.util.Ref;
export import ftxui.util.autoreset;
export import ftxui.util.ref;

View File

@@ -1,5 +1,5 @@
/**
* @file AutoReset.cppm
* @file autoreset.cppm
* @brief Module file for the AutoReset class of the Util module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/util/autoreset.hpp>
export module ftxui.util.AutoReset;
export module ftxui.util.autoreset;
/**
* @namespace ftxui

View File

@@ -1,5 +1,5 @@
/**
* @file Ref.cppm
* @file ref.cppm
* @brief Module file for the Ref classes of the Util module
*/
@@ -7,7 +7,7 @@ module;
#include <ftxui/util/ref.hpp>
export module ftxui.util.Ref;
export module ftxui.util.ref;
/**
* @namespace ftxui