Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim-plugins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlovetox <philipp@hoerist.com>2021-04-27 22:16:19 +0300
committerlovetox <philipp@hoerist.com>2021-04-27 22:16:46 +0300
commit681677f74b8754d896a93bf5f401ab93dc9645c2 (patch)
tree4229aa74db37c4e727d7d02a82d95cd039c804e0 /acronyms_expander
parent6eaf180d8c732bd2a4084218efd5f39210d972a6 (diff)
[acronyms] Improve discovering word breaks
Diffstat (limited to 'acronyms_expander')
-rw-r--r--acronyms_expander/acronyms_expander.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/acronyms_expander/acronyms_expander.py b/acronyms_expander/acronyms_expander.py
index 69823c0..c733915 100644
--- a/acronyms_expander/acronyms_expander.py
+++ b/acronyms_expander/acronyms_expander.py
@@ -21,6 +21,7 @@ from pathlib import Path
from functools import partial
from gi.repository import GLib
+from gi.repository import Gtk
from gajim.common import app
from gajim.common import configpaths
@@ -104,11 +105,19 @@ class AcronymsExpanderPlugin(GajimPlugin):
return
# Get to the start of the last word
- word_start_iter = insert_iter.copy()
- word_start_iter.backward_word_start()
+ # word_start_iter = insert_iter.copy()
+ result = insert_iter.backward_search(
+ self._invoker,
+ Gtk.TextSearchFlags.VISIBLE_ONLY,
+ None)
+
+ if result is None:
+ word_start_iter = buffer_.get_start_iter()
+ else:
+ _, word_start_iter = result
# Get last word and cut invoker
- last_word = word_start_iter.get_slice(insert_iter).strip()
+ last_word = word_start_iter.get_slice(insert_iter)
if contact.is_groupchat:
nick_list = app.contacts.get_nick_list(account, contact.jid)
@@ -126,13 +135,10 @@ class AcronymsExpanderPlugin(GajimPlugin):
log.debug('%s not an acronym', last_word)
return
- # Replace
- word_end_iter = word_start_iter.copy()
- word_end_iter.forward_word_end()
GLib.idle_add(self._replace_text,
buffer_,
word_start_iter,
- word_end_iter,
+ insert_iter,
substitute)
def _replace_text(self, buffer_, start, end, substitute):