/** * @file main.cpp * @author apio (cloudapio.eu) * @brief Graphical text editor. * * @copyright Copyright (c) 2024, the Luna authors. * */ #include "EditorWidget.h" #include #include Result luna_main(int argc, char** argv) { StringView path; os::ArgumentParser parser; parser.add_description("A graphical text editor"_sv); parser.add_system_program_info("editor"_sv); parser.add_positional_argument(path, "path", false); parser.parse(argc, argv); ui::App app; TRY(app.init()); auto* window = TRY(ui::Window::create(ui::Rect { 200, 300, 600, 600 })); window->set_background(ui::Color::from_rgb(40, 40, 40)); window->set_title("Text Editor"); app.set_main_window(window); auto* editor = TRY(make(ui::Font::default_font())); window->set_main_widget(*editor); if (!path.is_empty()) TRY(editor->load_file(path)); window->draw(); return app.run(); }