Moved plugins and refactor command system
- Moved plugins to apropriate sub folders - Refactor command system with new add_command method and rename GetCommandSystemEvent to GetNewCommandSystemEvent - Add RegisterCommandEvent for dynamic command registration - Change footer container orientation to VERTICAL - Add search-highlight tag to source buffer - Add file change detection (deleted, externally modified) in source_file - Add JSON prettify option to source view popup menu - Enable hexpand on VTE widget - Update plugins_controller_mixin to use widget_registry
This commit is contained in:
50
plugins/code/search_replace/mixins/replace_mixin.py
Normal file
50
plugins/code/search_replace/mixins/replace_mixin.py
Normal file
@@ -0,0 +1,50 @@
|
||||
# Python imports
|
||||
|
||||
# Lib imports
|
||||
|
||||
# Application imports
|
||||
|
||||
|
||||
|
||||
class ReplaceMixin:
|
||||
|
||||
def _replace_word(
|
||||
self,
|
||||
current_index: int,
|
||||
to_text: str,
|
||||
buffer: any
|
||||
):
|
||||
self.clear_highlight(buffer)
|
||||
|
||||
start_itr, end_itr = self.matches[current_index]
|
||||
self.active_view.scroll_to_iter(end_itr, 0.2, False, 0, 0)
|
||||
|
||||
buffer.begin_user_action()
|
||||
buffer.delete(start_itr, end_itr)
|
||||
buffer.insert(start_itr, to_text)
|
||||
buffer.end_user_action()
|
||||
|
||||
def _replace_all_words(self, to_text: str, buffer: any):
|
||||
marks: list = []
|
||||
|
||||
for start_itr, end_itr in self.matches:
|
||||
start_mark = buffer.create_mark(None, start_itr, left_gravity = True)
|
||||
end_mark = buffer.create_mark(None, end_itr, left_gravity = False)
|
||||
marks.append((start_mark, end_mark))
|
||||
|
||||
buffer.begin_user_action()
|
||||
|
||||
for start_mark, end_mark in reversed(marks):
|
||||
start_itr = buffer.get_iter_at_mark(start_mark)
|
||||
end_itr = buffer.get_iter_at_mark(end_mark)
|
||||
|
||||
buffer.delete(start_itr, end_itr)
|
||||
buffer.insert(start_itr, to_text)
|
||||
|
||||
buffer.end_user_action()
|
||||
|
||||
for start_mark, end_mark in marks:
|
||||
buffer.delete_mark(start_mark)
|
||||
buffer.delete_mark(end_mark)
|
||||
|
||||
self.find_entry.grab_focus()
|
||||
Reference in New Issue
Block a user