Use C++23

This commit is contained in:
Vyn 2024-11-03 18:27:36 +01:00
parent a15c23bb21
commit 668d1df06f
6 changed files with 13 additions and 34 deletions

View file

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.21) cmake_minimum_required(VERSION 3.21)
project(mirai LANGUAGES CXX) project(mirai LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_COMPILE_WARNING_AS_ERROR ON) set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
set(CMAKE_BUILD_RPATH_USE_ORIGIN ON) set(CMAKE_BUILD_RPATH_USE_ORIGIN ON)

View file

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.21) cmake_minimum_required(VERSION 3.21)
project(mirai LANGUAGES CXX) project(mirai LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_COMPILE_WARNING_AS_ERROR ON) set(CMAKE_COMPILE_WARNING_AS_ERROR ON)

View file

@ -11,6 +11,7 @@
#include <chrono> #include <chrono>
#include <iostream> #include <iostream>
#include <ostream> #include <ostream>
#include <print>
#include <string> #include <string>
namespace cpputils::debug namespace cpputils::debug
@ -50,7 +51,7 @@ class Timer
durationToShow += durationToShow +=
std::chrono::duration_cast<std::chrono::milliseconds>(now - startTime).count(); std::chrono::duration_cast<std::chrono::milliseconds>(now - startTime).count();
} }
std::cout << "[Debug - Timer] " << message << ": " << durationToShow << " ms" << std::endl; std::println("[Debug - Timer] {}: {} ms", message, durationToShow);
} }
private: private:

View file

@ -7,6 +7,7 @@
#include "MarkdownDataProvider.h" #include "MarkdownDataProvider.h"
#include "cpp-utils/debug.h" #include "cpp-utils/debug.h"
#include "utils.h" #include "utils.h"
#include <print>
#include <regex> #include <regex>
namespace mirai namespace mirai
@ -43,16 +44,6 @@ TaskData stringToTask(const std::string &str, const std::string &date)
); );
std::regex_match(str, matches, regex); std::regex_match(str, matches, regex);
/*std::cout << "line " << str << std::endl;*/
/*std::cout << "M 0 " << matches[0] << std::endl;*/
/*std::cout << "M 1 " << matches[1] << std::endl;*/
/*std::cout << "M 2 " << matches[2] << std::endl;*/
/*std::cout << "M 3 " << matches[3] << std::endl;*/
/*std::cout << "M 4 " << matches[4] << std::endl;*/
/*std::cout << "M 5 " << matches[5] << std::endl;*/
/*std::cout << "M 6 " << matches[6] << std::endl;*/
/*std::cout << "M 7 " << matches[7] << std::endl;*/
std::string text = stringUtils::trim(matches[5]); std::string text = stringUtils::trim(matches[5]);
TaskData taskItem{ TaskData taskItem{
@ -83,15 +74,6 @@ EventData stringToEvent(const std::string &str, const std::string &dateString)
std::regex regex("> (([0-9]{2}h[0-9]{2})-([0-9]{2}h[0-9]{2}) )(.*?)( -- (.*))?"); std::regex regex("> (([0-9]{2}h[0-9]{2})-([0-9]{2}h[0-9]{2}) )(.*?)( -- (.*))?");
std::regex_match(str, matches, regex); std::regex_match(str, matches, regex);
/*std::cout << "line " << str << std::endl;*/
/*std::cout << "M 0 " << matches[0] << std::endl;*/
/*std::cout << "M 1 " << matches[1] << std::endl;*/
/*std::cout << "M 2 " << matches[2] << std::endl;*/
/*std::cout << "M 3 " << matches[3] << std::endl;*/
/*std::cout << "M 4 " << matches[4] << std::endl;*/
/*std::cout << "M 5 " << matches[5] << std::endl;*/
/*std::cout << "M 6 " << matches[6] << std::endl;*/
std::string text = stringUtils::trim(matches[4]); std::string text = stringUtils::trim(matches[4]);
auto date = stringToDate(dateString); auto date = stringToDate(dateString);
@ -101,8 +83,9 @@ EventData stringToEvent(const std::string &str, const std::string &dateString)
} }
EventData eventData{ EventData eventData{
.title = text, .startsAt = stringToTime(matches[2]), .endsAt = stringToTime(matches[3]), .title = text,
//.tags = extractTagsFromMetadata(matches[6]) .startsAt = stringToTime(matches[2]),
.endsAt = stringToTime(matches[3]),
}; };
return eventData; return eventData;
} }
@ -110,12 +93,6 @@ EventData stringToEvent(const std::string &str, const std::string &dateString)
std::string taskToString(const TaskData &task) std::string taskToString(const TaskData &task)
{ {
std::string str = task.title; std::string str = task.title;
/*if (task.getTags().size() > 0) {*/
/*str += " --";*/
/*for (const std::string &tag : task.getTags()) {*/
/*str += " #" + tag;*/
/*}*/
/*}*/
str = (task.state == DONE ? "- [X] " : "- [ ] ") + str; str = (task.state == DONE ? "- [X] " : "- [ ] ") + str;
return str; return str;
} }
@ -170,13 +147,12 @@ MarkdownData MarkdownDataProvider::parseMarkdown(const std::string &content)
{ {
cpputils::debug::Timer readMdFormatDuration; cpputils::debug::Timer readMdFormatDuration;
// std::vector<TaskItem> taskItems;
std::string line; std::string line;
std::stringstream contentStream(content); std::stringstream contentStream(content);
if (!std::getline(contentStream, line) || line.substr(0, 2) != "# ") { if (!std::getline(contentStream, line) || line.substr(0, 2) != "# ") {
std::cerr << "Couldn't find the task list name" << std::endl; std::println("Couldn't find the task list name");
} }
data.name = line.substr(2); data.name = line.substr(2);

View file

@ -12,6 +12,7 @@
#include <algorithm> #include <algorithm>
#include <iostream> #include <iostream>
#include <memory> #include <memory>
#include <print>
#include <string> #include <string>
#include <vector> #include <vector>
@ -52,7 +53,7 @@ void Mirai::saveConfig()
{ {
std::ofstream file(configPath_); std::ofstream file(configPath_);
if (!file.is_open()) { if (!file.is_open()) {
std::cerr << "Can't save config to " << configPath_ << std::endl; std::print(std::cerr, "Can't save config to {}", configPath_);
return; return;
} }
auto configJson = nlohmann::json::parse(R"( auto configJson = nlohmann::json::parse(R"(

View file

@ -27,6 +27,7 @@
#include <memory> #include <memory>
#include <optional> #include <optional>
#include <ostream> #include <ostream>
#include <print>
#include <ranges> #include <ranges>
#include <string> #include <string>
#include <string_view> #include <string_view>
@ -50,7 +51,7 @@ AppWindowBackend::AppWindowBackend(mirai::Mirai *miraiInstance)
const auto palettePath = std::string(getenv("HOME")) + "/.config/evalyte/theme.json"; const auto palettePath = std::string(getenv("HOME")) + "/.config/evalyte/theme.json";
const auto palette = selenite::parseJson(palettePath); const auto palette = selenite::parseJson(palettePath);
if (palette.has_value()) { if (palette.has_value()) {
std::cerr << "Warning, no " << palettePath << " found" << std::endl; std::println(std::cerr, "Warning, no {} found", palettePath);
setSelenitePalette(mainWindow_->global<ui::Palette>(), palette.value()); setSelenitePalette(mainWindow_->global<ui::Palette>(), palette.value());
setSelenitePalette(settingsWindow_->global<ui::Palette>(), palette.value()); setSelenitePalette(settingsWindow_->global<ui::Palette>(), palette.value());
setSelenitePalette(addSourceWindow_->global<ui::Palette>(), palette.value()); setSelenitePalette(addSourceWindow_->global<ui::Palette>(), palette.value());