diff --git a/src/clippy/target.hpp b/src/clippy/target.hpp new file mode 100644 index 0000000..75676f5 --- /dev/null +++ b/src/clippy/target.hpp @@ -0,0 +1,45 @@ +#pragma once + +#include + +#include + +#include +#include + +namespace clippy::targets { +class Target { + public: + virtual void Execute() = 0; +}; + +class EmptyTarget : public Target { + public: + void Execute() override {} +}; + +class OpenProjectConfig : public Target { + public: + OpenProjectConfig(std::string config_path) : config_path_(config_path) {} + + void Execute() override { + utils::OpenEditor(config_path_); + std::cout << "Open editor TODO" << std::endl; + } + + private: + std::string config_path_; +}; + +class CreateProjectConfig : public Target { + public: + CreateProjectConfig(ProjectList& projects) : projects_(projects) {} + + void Execute() override { + std::cout << "Make new project config and open editor TODO" << std::endl; + } + + private: + ProjectList& projects_; +}; +} // namespace clippy::targets