19#include "nlohmann/json.hpp"
22using json = nlohmann::json;
32 static constexpr const char* LINE_DECLARATION_JSON =
"line_declaration";
33 static constexpr const char* START_NUMBER_LINE_JSON =
"start_number_line";
34 static constexpr const char* END_NUMBER_LINE_JSON =
"end_number_line";
36 static constexpr const char* FUNCTION_PREFIX_PRINT =
"Function: ";
37 static constexpr const char* RELATIVE_PATH_PRINT =
"File: ";
38 static constexpr const char* LINE_DECLARATION_PRINT =
"Lines: ";
39 static constexpr const char* NUMBER_LINE_PRINT =
"Size: ";
42 std::vector<std::string> content;
43 std::vector<std::string> header;
44 int start_number_line;
91 const std::vector<std::string>&
get_header()
const;
Represents a code function with its content and metadata.
const std::vector< std::string > & get_header() const
Gets the function's header content.
std::array< int, 3 > get_scope_function_in_file() const
Gets the function's line number scope.
Function(const Path &_path)
Constructs a Function object.
std::vector< std::string > build_all_content()
Builds combined content of header and source.
void print_code(bool no_numbers=false)
int number_of_lines() const
Calculates the total number of lines in the function.
void print_basic_info()
Prints formatted function information to console.
Path manipulation class for tool-specific directory structure.
Path abstraction for temporary codebase.
Defines utility functions used across all files.