From 16f38ce21baec1343c0da2766267bb179df9f726 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 8 Feb 2019 14:31:50 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20added=20support=20to=20list=20all?= =?UTF-8?q?=20gitmojis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __init__.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/__init__.py b/__init__.py index 77c5da0..9fed18f 100644 --- a/__init__.py +++ b/__init__.py @@ -2,7 +2,9 @@ """gitmoji Picker for Albert Usage: g: gitmoji name or description -Example: g: bug""" +Examples: + g:bug + g:*""" from albertv0 import * @@ -31,22 +33,32 @@ def initialize(): gitmojis.append(gitmoji) def handleQuery(query): - needles = query.string.lower().split() + if not query.isValid or not query.isTriggered: + return [] - 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.string == "*": + matches = gitmojis + else: + needles = query.string.lower().split() - 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 [] + else: + return [] def count_matches(tokens, needles): count = 0