ソースを参照

LibGUI: Remove unused functions in EditingEngine class

Moustafa Raafat 3 年 前
コミット
7b23dfea79

+ 0 - 254
Userland/Libraries/LibGUI/EditingEngine.cpp

@@ -11,16 +11,6 @@
 
 namespace GUI {
 
-constexpr bool is_vim_alphanumeric(u32 code_point)
-{
-    return is_ascii_alphanumeric(code_point) || code_point == '_';
-}
-
-constexpr bool is_vim_punctuation(u32 code_point)
-{
-    return is_ascii_punctuation(code_point) && code_point != '_';
-}
-
 void EditingEngine::attach(TextEditor& editor)
 {
     VERIFY(!m_editor);
@@ -378,250 +368,6 @@ void EditingEngine::get_selection_line_boundaries(size_t& first_line, size_t& la
         last_line -= 1;
 }
 
-TextPosition EditingEngine::find_beginning_of_next_word()
-{
-    /* The rules that have been coded in:
-     * Jump to the next punct or alnum after any whitespace
-     * Jump to the next non-consecutive punct regardless of whitespace
-     * Jump to the next alnum if started on punct regardless of whitespace
-     * If the end of the input is reached, jump there
-     */
-
-    bool started_on_punct = is_vim_punctuation(m_editor->current_line().to_utf8().characters()[m_editor->cursor().column()]);
-    bool has_seen_whitespace = false;
-    bool is_first_line = true;
-    auto& lines = m_editor->lines();
-    auto cursor = m_editor->cursor();
-    for (size_t line_index = cursor.line(); line_index < lines.size(); line_index++) {
-        auto& line = lines.at(line_index);
-
-        if (line.is_empty() && !is_first_line) {
-            return { line_index, 0 };
-        } else if (line.is_empty()) {
-            has_seen_whitespace = true;
-        }
-
-        is_first_line = false;
-
-        for (size_t column_index = 0; column_index < lines.at(line_index).length(); column_index++) {
-            if (line_index == cursor.line() && column_index < cursor.column())
-                continue;
-            u32 const* line_chars = line.view().code_points();
-            const u32 current_char = line_chars[column_index];
-
-            if (started_on_punct && is_vim_alphanumeric(current_char)) {
-                return { line_index, column_index };
-            }
-
-            if (is_vim_punctuation(current_char) && !started_on_punct) {
-                return { line_index, column_index };
-            }
-
-            if (is_ascii_space(current_char))
-                has_seen_whitespace = true;
-
-            if (has_seen_whitespace && (is_vim_alphanumeric(current_char) || is_vim_punctuation(current_char))) {
-                return { line_index, column_index };
-            }
-
-            if (line_index == lines.size() - 1 && column_index == line.length() - 1) {
-                return { line_index, column_index };
-            }
-
-            // Implicit newline
-            if (column_index == line.length() - 1)
-                has_seen_whitespace = true;
-        }
-    }
-    VERIFY_NOT_REACHED();
-}
-
-void EditingEngine::move_to_beginning_of_next_word()
-{
-    m_editor->set_cursor(find_beginning_of_next_word());
-}
-
-TextPosition EditingEngine::find_end_of_next_word()
-{
-    /* The rules that have been coded in:
-     * If the current_char is alnum and the next is whitespace or punct
-     * If the current_char is punct and the next is whitespace or alnum
-     * If the end of the input is reached, jump there
-     */
-
-    bool is_first_line = true;
-    bool is_first_iteration = true;
-    auto& lines = m_editor->lines();
-    auto cursor = m_editor->cursor();
-
-    if ((lines.at(cursor.line()).length() - cursor.column()) <= 1)
-        return { cursor.line(), cursor.column() };
-
-    for (size_t line_index = cursor.line(); line_index < lines.size(); line_index++) {
-        auto& line = lines.at(line_index);
-
-        if (line.is_empty() && !is_first_line) {
-            return { line_index, 0 };
-        }
-
-        is_first_line = false;
-
-        for (size_t column_index = 0; column_index < lines.at(line_index).length(); column_index++) {
-            if (line_index == cursor.line() && column_index < cursor.column())
-                continue;
-
-            u32 const* line_chars = line.view().code_points();
-            const u32 current_char = line_chars[column_index];
-
-            if (column_index == lines.at(line_index).length() - 1 && !is_first_iteration && (is_vim_alphanumeric(current_char) || is_vim_punctuation(current_char)))
-                return { line_index, column_index };
-            else if (column_index == lines.at(line_index).length() - 1) {
-                is_first_iteration = false;
-                continue;
-            }
-
-            const u32 next_char = line_chars[column_index + 1];
-
-            if (!is_first_iteration && is_vim_alphanumeric(current_char) && (is_ascii_space(next_char) || is_vim_punctuation(next_char)))
-                return { line_index, column_index };
-
-            if (!is_first_iteration && is_vim_punctuation(current_char) && (is_ascii_space(next_char) || is_vim_alphanumeric(next_char)))
-                return { line_index, column_index };
-
-            if (line_index == lines.size() - 1 && column_index == line.length() - 1) {
-                return { line_index, column_index };
-            }
-
-            is_first_iteration = false;
-        }
-    }
-    VERIFY_NOT_REACHED();
-}
-
-void EditingEngine::move_to_end_of_next_word()
-{
-    m_editor->set_cursor(find_end_of_next_word());
-}
-
-TextPosition EditingEngine::find_end_of_previous_word()
-{
-    bool started_on_punct = is_vim_punctuation(m_editor->current_line().to_utf8().characters()[m_editor->cursor().column()]);
-    bool is_first_line = true;
-    bool has_seen_whitespace = false;
-    auto& lines = m_editor->lines();
-    auto cursor = m_editor->cursor();
-    for (size_t line_index = cursor.line(); (int)line_index >= 0; line_index--) {
-        auto& line = lines.at(line_index);
-
-        if (line.is_empty() && !is_first_line) {
-            return { line_index, 0 };
-        } else if (line.is_empty()) {
-            has_seen_whitespace = true;
-        }
-
-        is_first_line = false;
-
-        size_t line_length = lines.at(line_index).length();
-        for (size_t column_index = line_length - 1; (int)column_index >= 0; column_index--) {
-            if (line_index == cursor.line() && column_index > cursor.column())
-                continue;
-
-            u32 const* line_chars = line.view().code_points();
-            const u32 current_char = line_chars[column_index];
-
-            if (started_on_punct && is_vim_alphanumeric(current_char)) {
-                return { line_index, column_index };
-            }
-
-            if (is_vim_punctuation(current_char) && !started_on_punct) {
-                return { line_index, column_index };
-            }
-
-            if (is_ascii_space(current_char)) {
-                has_seen_whitespace = true;
-            }
-
-            if (has_seen_whitespace && (is_vim_alphanumeric(current_char) || is_vim_punctuation(current_char))) {
-                return { line_index, column_index };
-            }
-
-            if (line_index == 0 && column_index == 0) {
-                return { line_index, column_index };
-            }
-
-            // Implicit newline when wrapping back up to the end of the previous line.
-            if (column_index == 0)
-                has_seen_whitespace = true;
-        }
-    }
-    VERIFY_NOT_REACHED();
-}
-
-void EditingEngine::move_to_end_of_previous_word()
-{
-    m_editor->set_cursor(find_end_of_previous_word());
-}
-
-TextPosition EditingEngine::find_beginning_of_previous_word()
-{
-    bool is_first_iterated_line = true;
-    bool is_first_iteration = true;
-    auto& lines = m_editor->lines();
-    auto cursor = m_editor->cursor();
-
-    if ((lines.at(cursor.line()).length() - cursor.column()) <= 1)
-        return { cursor.line(), cursor.column() };
-
-    for (size_t line_index = cursor.line(); (int)line_index >= 0; line_index--) {
-        auto& line = lines.at(line_index);
-
-        if (line.is_empty() && !is_first_iterated_line) {
-            return { line_index, 0 };
-        }
-
-        is_first_iterated_line = false;
-
-        size_t line_length = lines.at(line_index).length();
-        for (size_t column_index = line_length; (int)column_index >= 0; column_index--) {
-            if (line_index == cursor.line() && column_index > cursor.column())
-                continue;
-
-            if (column_index == line_length) {
-                is_first_iteration = false;
-                continue;
-            }
-
-            u32 const* line_chars = line.view().code_points();
-            const u32 current_char = line_chars[column_index];
-
-            if (column_index == 0 && !is_first_iteration && (is_vim_alphanumeric(current_char) || is_vim_punctuation(current_char))) {
-                return { line_index, column_index };
-            } else if (line_index == 0 && column_index == 0) {
-                return { line_index, column_index };
-            } else if (column_index == 0 && is_first_iteration) {
-                is_first_iteration = false;
-                continue;
-            }
-
-            const u32 next_char = line_chars[column_index - 1];
-
-            if (!is_first_iteration && is_vim_alphanumeric(current_char) && (is_ascii_space(next_char) || is_vim_punctuation(next_char)))
-                return { line_index, column_index };
-
-            if (!is_first_iteration && is_vim_punctuation(current_char) && (is_ascii_space(next_char) || is_vim_alphanumeric(next_char)))
-                return { line_index, column_index };
-
-            is_first_iteration = false;
-        }
-    }
-    VERIFY_NOT_REACHED();
-}
-
-void EditingEngine::move_to_beginning_of_previous_word()
-{
-    m_editor->set_cursor(find_beginning_of_previous_word());
-}
-
 void EditingEngine::move_selected_lines_up()
 {
     if (!m_editor->is_editable())

+ 0 - 8
Userland/Libraries/LibGUI/EditingEngine.h

@@ -64,14 +64,6 @@ protected:
     void move_page_down();
     void move_to_first_line();
     void move_to_last_line();
-    TextPosition find_beginning_of_next_word();
-    void move_to_beginning_of_next_word();
-    TextPosition find_end_of_next_word();
-    void move_to_end_of_next_word();
-    TextPosition find_end_of_previous_word();
-    void move_to_end_of_previous_word();
-    TextPosition find_beginning_of_previous_word();
-    void move_to_beginning_of_previous_word();
 
     void move_up(double page_height_factor);
     void move_down(double page_height_factor);