dedup history items in merge_zsh_history

This commit is contained in:
Ivan Malison 2015-01-02 11:51:35 -08:00
parent f993549d9f
commit 8370da7542

View File

@ -2,9 +2,24 @@ import re
history_entry_re = re.compile(": ([0-9]*):[0-9]*;.*")
class dedup(set):
def contains_add(self, elem):
if elem in self:
return True
else:
self.add(elem)
return False
def merge_history(filenames):
entries = dedup()
pairs = [entry for filename in filenames for entry in entry_timestamp_pairs(filename)]
return "".join([p[0] for p in sorted(pairs, key=lambda pair: pair[1])])
return "".join([
p[0] for p in sorted(pairs, key=lambda pair: pair[1])
if not entries.contains_add(p[0])
])
def entry_timestamp_pairs(filename):