Files
dropshell/src/utils/utils.hpp
Your Name a2340dcb80
Some checks failed
Dropshell Test / Build_and_Test (push) Failing after 20s
Fix autocomplete bugs.
2025-05-11 19:26:25 +12:00

56 lines
1.8 KiB
C++

#pragma once
#include <string>
#include <vector>
namespace dropshell {
/**
* Prints a formatted title surrounded by a box of dashes.
*
* @param title The title string to display
*/
void maketitle(const std::string& title);
bool replace_line_in_file(const std::string& file_path, const std::string& search_string, const std::string& replacement_line);
// utility functions
std::string trim(std::string str);
std::string dequote(std::string str);
std::string quote(std::string str);
std::string halfquote(std::string str);
std::string requote(std::string str);
std::string escapequotes(std::string str);
std::string multi2string(std::vector<std::string> values);
std::vector<std::string> string2multi(std::string values);
std::vector<std::string> split(const std::string& str, const std::string& delimiter);
int str2int(const std::string & str);
void recursive_copy(const std::string & source, const std::string & destination);
void ensure_directories_exist(std::vector<std::string> directories);
// KMP algorithm
std::vector<int> search(const std::string &pat, const std::string &txt);
int count_substring(const std::string &substring, const std::string &text);
std::string replace_with_environment_variables_like_bash(std::string str);
std::string random_alphanumeric_string(int length);
int die(const std::string & msg);
std::string safearg(int argc, char *argv[], int index);
std::string safearg(const std::vector<std::string> & args, int index);
void print_left_aligned(const std::string & str, int width);
void print_centered(const std::string & str, int width);
void print_right_aligned(const std::string & str, int width);
std::string left_align(const std::string & str, int width);
std::string right_align(const std::string & str, int width);
std::string center_align(const std::string & str, int width);
} // namespace dropshell