NoTeX 1.0.0
A modern noteworthy LaTeX template
Loading...
Searching...
No Matches
orchestrator.hpp
Go to the documentation of this file.
1
11
12#pragma once
13
14#include <CLI/CLI.hpp>
15
16#include <string>
17
18#include "notex/errors.hpp"
19
20namespace notex {
21
34class Orchestrator {
35public:
36 Orchestrator();
37 Orchestrator(Orchestrator&&) = delete;
38 Orchestrator(const Orchestrator&) = delete;
39 Orchestrator& operator=(Orchestrator&&) = delete;
40 Orchestrator& operator=(const Orchestrator&) = delete;
41 ~Orchestrator() = default;
42
50 ExitCode run(int argc, char** argv);
51
52private:
54 void register_commands();
55
58 void run_version() const;
59
62 void run_help() const;
63
66 void run_info() const;
67
70 void run_clean() const;
71
73 void run_install_global() const;
74
77 void run_install_local() const;
78
81 void run_init() const;
82
85 void run_theme() const;
86
88 void run_add_section() const;
89
91 void run_remove_section() const;
92
94 void run_add_bib() const;
95
97 void run_remove_bib() const;
98
102 void run_get() const;
103
106 void run_checkhealth() const;
107
109 void run_set() const;
110
112 void run_ls() const;
113
116 void run_uninstall_global() const;
117
120 void run_uninstall_local() const;
121
123 void run_reset() const;
124
126 void run_delete() const;
127
128 CLI::App app_{std::string("notex - ") + PROJECT_DESCRIPTION};
129 bool assume_yes_ = false;
130 bool verbose_ = false;
131 std::string clean_path_ = ".";
132 bool clean_dry_run_ = false;
133 std::string install_path_;
135 bool install_force_ = false;
137 std::string init_type_arg_;
140 std::string init_path_arg_;
143 bool init_force_ = false;
144 std::string theme_name_;
146 std::string section_title_;
148 int section_number_ = 0;
150 std::string get_name_;
152 std::string set_key_;
154 std::string set_value_;
156 std::string ls_path_ = ".";
158 std::string uninstall_path_;
161 bool uninstall_force_ = false;
163 bool reset_force_ = false;
165 bool delete_all_ = false;
167 bool delete_force_ = false;
169};
170
171} // namespace notex
ExitCode run(int argc, char **argv)
Parses the command line and dispatches to the requested command, catching every exception at this sin...
Exception hierarchy and process exit codes used throughout NoTeX.
ExitCode
Process exit codes returned by the notex executable.
Definition errors.hpp:21