#pragma once #include "Result.hpp" #include "fs/filesystem.hpp" #include #include #include #include #include namespace geode::utils::clipboard { GEODE_DLL bool write(std::string const& data); GEODE_DLL std::string read(); } namespace geode::utils::file { GEODE_DLL ghc::filesystem::path geodeRoot(); GEODE_DLL bool openFolder(ghc::filesystem::path const& path); enum class PickMode { OpenFile, SaveFile, OpenFolder, }; struct FilePickOptions { struct Filter { // Name of the filter std::string description; // Extensions (*.txt, *.doc, *.mp3, etc.) std::unordered_set files; }; ghc::filesystem::path defaultPath; std::vector filters; }; GEODE_DLL Result pickFile(PickMode mode, FilePickOptions const& options); GEODE_DLL Result> pickFiles(FilePickOptions const& options); } namespace geode::utils::web { GEODE_DLL void openLinkInBrowser(std::string const& url); }