| 527 | } |
| 528 | |
| 529 | static void move_to_line_end(size_t & char_pos, size_t & byte_pos, const std::vector<int> & widths, const std::string & line) { |
| 530 | int forward_width = 0; |
| 531 | for (size_t i = char_pos; i < widths.size(); ++i) { |
| 532 | forward_width += widths[i]; |
| 533 | } |
| 534 | move_cursor(forward_width); |
| 535 | char_pos = widths.size(); |
| 536 | byte_pos = line.length(); |
| 537 | } |
| 538 | |
| 539 | static bool has_ctrl_modifier(const std::string & params) { |
| 540 | size_t start = 0; |
no test coverage detected