#pragma once #include #include "vs_generate.h" class JsonCommand { public: JsonCommand(); ~JsonCommand(); public: bool generate(const std::vector& projs); void set_expect(const std::string& exp); void set_out(const std::string& out); private: std::string expect_{"expect"}; std::string out_{"compile_commands.json" }; std::string get_command(const ProjectInfo* proj, const std::vector& projs); static std::vector get_cpp_paths(const std::string& parent_path); static std::vector split(const std::string& source, const std::string& sep); static void replaceAll(std::string& str, const std::string& from, const std::string& to); };