1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-11 18:20:43 +09:00

LibGUI: Add number_of_words() to TextEditors

Returns the total number of words in a document.
This commit is contained in:
thankyouverycool 2021-09-18 16:31:47 -04:00 committed by Andreas Kling
parent aa06012249
commit 46043b71cb
Notes: sideshowbarker 2024-07-18 03:41:56 +09:00
2 changed files with 24 additions and 0 deletions

View file

@ -1335,6 +1335,29 @@ size_t TextEditor::number_of_selected_words() const
return word_count;
}
size_t TextEditor::number_of_words() const
{
if (document().is_empty())
return 0;
size_t word_count = 0;
bool in_word = false;
auto text = this->text();
for (char c : text) {
if (in_word && is_ascii_space(c)) {
in_word = false;
word_count++;
continue;
}
if (!in_word && !is_ascii_space(c))
in_word = true;
}
if (in_word)
word_count++;
return word_count;
}
void TextEditor::delete_selection()
{
auto selection = normalized_selection();

View file

@ -126,6 +126,7 @@ public:
bool write_to_file_and_close(int fd);
bool has_selection() const { return m_selection.is_valid(); }
String selected_text() const;
size_t number_of_words() const;
size_t number_of_selected_words() const;
void set_selection(TextRange const&);
void clear_selection();