#include <string>
auto app = App::TerminalOutput();
std::string input_text;
auto input = Input(&input_text, "Type a message, then press Enter.");
input |= CatchEvent([&](Event event) {
if (event != Event::Return) {
return false;
}
if (input_text.empty()) {
return true;
}
app.PrintAbove(vbox({
paragraph(input_text) | borderStyled(LIGHT, Color::GrayDark),
paragraph("You said " + std::to_string(input_text.size()) +
" characters."),
}));
input_text.clear();
return true;
});
auto renderer = Renderer(input, [&] {
return vbox({
separator(),
hbox({text("> "), input->Render()}),
text("Press Ctrl+C to quit.") | dim,
});
});
app.Loop(renderer);
}
The FTXUI ftxui:: namespace.