#pragma once
#include
#include
#include "../utils/common.hpp"
#include "../wrapper/repository_wrapper.hpp"
class remote_subcommand
{
public:
explicit remote_subcommand(const libgit2_object&, CLI::App& app);
void run();
private:
void run_list(const repository_wrapper& repo);
void run_add(repository_wrapper& repo);
void run_remove(repository_wrapper& repo);
void run_rename(repository_wrapper& repo);
void run_seturl(repository_wrapper& repo);
void run_show(const repository_wrapper& repo);
CLI::App* m_subcommand = nullptr;
std::string m_operation;
std::string m_remote_name;
std::string m_url;
std::string m_old_name;
std::string m_new_name;
bool m_verbose_flag = false;
bool m_push_flag = false;
};