MCPcopy Create free account
hub / github.com/Dobiasd/FunctionalPlus / parse_code_file

Function parse_code_file

api_search/parse_source_files.cpp:86–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84const auto no_curly_open = fplus::logical_not(begins_with_curly_open);
85
86std::vector<function_help> parse_code_file(const std::string& code_file)
87{
88 using namespace std;
89 typedef vector<string> strings;
90 const auto lines = fplus::read_text_file_lines(true, code_file)();
91 const auto is_search_type = fplus::bind_1st_of_2(
92 fplus::is_infix_of<string>, api_search_type_key);
93 const auto functions_lines = fplus::split_by_keep_separators(
94 is_search_type, lines);
95 if (functions_lines.size() < 2)
96 return {};
97 const auto get_non_impl_lines = fplus::bind_1st_of_2(
98 fplus::take_while<strings, decltype(no_curly_open)>,
99 no_curly_open);
100 const auto functions_docs = fplus::transform(
101 get_non_impl_lines, fplus::tail(functions_lines));
102 return fplus::transform(lines_to_function_help, functions_docs);
103}
104
105std::vector<function_help> get_broken_function_helps(
106 const std::vector<function_help>& helps)

Callers 1

mainFunction · 0.85

Calls 5

read_text_file_linesFunction · 0.50
bind_1st_of_2Function · 0.50
split_by_keep_separatorsFunction · 0.50
transformFunction · 0.50
tailFunction · 0.50

Tested by

no test coverage detected