From acf0756b708db035dc60ad477f4caf5b0c6e3bcf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 9 Jan 2015 14:33:22 +0530 Subject: [PATCH] When finding the matching snippet return the longest match --- src/calibre/gui2/tweak_book/editor/snippets.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/tweak_book/editor/snippets.py b/src/calibre/gui2/tweak_book/editor/snippets.py index 67338e1045..b1559a0c2c 100644 --- a/src/calibre/gui2/tweak_book/editor/snippets.py +++ b/src/calibre/gui2/tweak_book/editor/snippets.py @@ -344,10 +344,12 @@ def expand_template(editor, trigger, template): return tl def find_matching_snip(text, syntax=None, snip_func=None): + ans_snip = ans_trigger = None for key, snip in (snip_func or snippets)().iteritems(): if text.endswith(key.trigger) and (syntax in key.syntaxes or syntax is None): - return snip, key.trigger - return None, None + if ans_trigger is None or len(key.trigger) > len(ans_trigger): + ans_snip, ans_trigger = snip, key.trigger + return ans_snip, ans_trigger class SnippetManager(QObject):