added support to list all gitmojis

This commit is contained in:
Andreas Schneider 2019-02-08 14:31:50 +01:00
parent 4ed2d152f8
commit 16f38ce21b
1 changed files with 25 additions and 13 deletions

View File

@ -2,7 +2,9 @@
"""gitmoji Picker for Albert """gitmoji Picker for Albert
Usage: g: gitmoji name or description Usage: g: gitmoji name or description
Example: g: bug""" Examples:
g:bug
g:*"""
from albertv0 import * from albertv0 import *
@ -31,22 +33,32 @@ def initialize():
gitmojis.append(gitmoji) gitmojis.append(gitmoji)
def handleQuery(query): def handleQuery(query):
needles = query.string.lower().split() if not query.isValid or not query.isTriggered:
return []
matches = [] if query.string == "*":
for gitmoji in gitmojis: matches = gitmojis
matchCount = count_matches(gitmoji["tokens"], needles) else:
if matchCount > 0: needles = query.string.lower().split()
result = dict()
result.update(gitmoji)
result["matchCount"] = matchCount
matches.append(result)
matches = sorted(matches, key=lambda data: data["matchCount"], reverse=True) matches = []
for gitmoji in gitmojis:
matchCount = count_matches(gitmoji["tokens"], needles)
if matchCount > 0:
result = dict()
result.update(gitmoji)
result["matchCount"] = matchCount
matches.append(result)
if query.isValid and query.isTriggered: if not query.isValid:
return []
matches = sorted(matches, key=lambda data: data["matchCount"], reverse=True)
if query.isValid:
return [Item(id=match["name"], completion=match["name"], icon=match["emoji"], text=match["emoji"] + " " + match["code"], subtext=match["description"], actions=[ClipAction("Copy to clipboard", match["code"])]) for match in matches] return [Item(id=match["name"], completion=match["name"], icon=match["emoji"], text=match["emoji"] + " " + match["code"], subtext=match["description"], actions=[ClipAction("Copy to clipboard", match["code"])]) for match in matches]
return [] else:
return []
def count_matches(tokens, needles): def count_matches(tokens, needles):
count = 0 count = 0