| 84 | const auto no_curly_open = fplus::logical_not(begins_with_curly_open); |
| 85 | |
| 86 | std::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 | |
| 105 | std::vector<function_help> get_broken_function_helps( |
| 106 | const std::vector<function_help>& helps) |
no test coverage detected