applied patch from allait. fixes bug #774911.

only overwrites snippets with the same trigger when overwrite_previous is set.
This commit is contained in:
rygwdn@gmail.com 2011-05-02 13:33:50 -03:00
parent 9e712a9a39
commit 5facee70f8

View File

@ -945,11 +945,15 @@ class SnippetManager(object):
found_snippets += self._find_snippets(ft, before, possible) found_snippets += self._find_snippets(ft, before, possible)
# Search if any of the snippets overwrites the previous # Search if any of the snippets overwrites the previous
snippets = [] # Dictionary allows O(1) access for easy overwrites
snippets = {}
for s in found_snippets: for s in found_snippets:
if s.overwrites_previous: if (s.trigger not in snippets) or s.overwrites_previous:
snippets = [] snippets[s.trigger] = []
snippets.append(s) snippets[s.trigger].append(s)
# Transform dictionary into flat list of snippets
snippets = [item for sublist in snippets.values() for item in sublist]
return snippets return snippets