emoji-selector-for-gnome icon indicating copy to clipboard operation
emoji-selector-for-gnome copied to clipboard

add a new Git emoji category

Open abakkk opened this issue 6 years ago • 12 comments

Add a set of useful emoji for git commits. Highly inspired by https://gitmoji.carloscuesta.me/ . Category icon isn't relevant.

abakkk avatar Aug 18 '18 02:08 abakkk

c'est un truc trop spécifique pour qu'on puisse proposer ça auprès de tous les utilisateurs, d'autant qu'il s'agit seulement de dupliquer certains autres émojis pour les détourner de leur sens de base si j'ai bien compris ? je ne suis pas contre intégrer les mots clés (gnome, linux et debian sont déjà concernés), mais une catégorie dédiée ça me semble abusé

maoschanz avatar Aug 18 '18 12:08 maoschanz

Oui ils sont dupliqués, il y aurait un travail à faire sur les mots-clés pour éviter les doublons lors de la recherche textuelle. Les mots clés que j'ai mis ne sont pas de vrais mots clés, il servent de description pendant la navigation. Je comprends parfaitement ton refus et je m'y attendais. L'idéal serait de faire une autre extension avec une orientation "contexte" (ou un paramètre qui permette de basculer de l'une à l'autre sur la tienne). Mais ça suppose de trouver de nombreuse autres catégories. A voir s'il y a déjà quelque chose de préexistant. J'ai fais ça parce que je suis tombé sur le site mentionné en me disant que j'aimerais bien avoir à disposition. Je garde ça sous le coude au cas où je suis motivé un jour.

hs: la recherche textuelle est vraiment très fluide.

abakkk avatar Aug 18 '18 13:08 abakkk

Je viens de voir qu'il y a une extension qui fournit uniquement des émojis pour git.

abakkk avatar Aug 18 '18 13:08 abakkk

Il faudrait remplacer tes tableaux par des objets, en reliant ainsi les émojis à des identifiants. Voir carrément utiliser des JSON. Ensuite on peut construire des catégories alternatives en allant piocher dedans.

abakkk avatar Aug 18 '18 13:08 abakkk

Loool le vieux fork qui n'a même pas pris la peine de changer la description

J'ai tendance à penser qu'il est plus simple de trouver les émojis par la recherche que par le survol, d'où l'idée de juste rajouter des mots-clés aux émojis des catégories existantes, je les ajouterai la prochaine fois que je bidouillerai cette extension là (en changeant des trucs sans doute, parce que je vois des majuscules dans le fichier et les majuscules c'est pour les tags spéciaux (couleur de peau et genre) que j'ai pas vraiment fini de mettre au point)

maoschanz avatar Aug 18 '18 13:08 maoschanz

Un exemple de json auquel il faudrait ajouter des clés "category".

abakkk avatar Aug 18 '18 13:08 abakkk

j'avais pas trouvé comment on parcourt simplement et efficacement du json

maoschanz avatar Aug 18 '18 14:08 maoschanz

Je n'ai aucune compétence la dedans. Peut-être que certains développeurs d'extension ont déjà fait des parseurs clé en main pour Gjs ? Sinon le gars met à disposition un script pour constituer directement le json à partir de unicode.org. En le modifiant on doit pouvoir récupérer les catégories qui sont bien présentes sur la page. Après ça tu peux mettre très simplement ton extension à jour. Et comme tu as utilisé les mot clés de unicode, les traductions sont conservées.

C'est juste une idée, et sûrement beaucoup de boulot pour pas grand chose.

abakkk avatar Aug 18 '18 14:08 abakkk

Ah merde les traductions. Pas de JSON du coup, si j'utilise du JSON je ne peux pas générer les fichiers de traduction

maoschanz avatar Aug 18 '18 15:08 maoschanz

Ah ok. Juste pour information alors, parser le json c'est vraiment pas compliqué. En me basant sur ce que fait GS avec metadata.jon, voici un exemple appliqué à emoji.json:

Lancer gjs dans le dossier où est présent emoji.json

const Gio = imports.gi.Gio;
let jsonFile = Gio.File.new_for_path("emoji.json");

let jsonContents, success, tag;
try {
    [success, jsonContents, tag] = jsonFile.load_contents(null);
} catch (e) {
    throw new Error('Failed to load emoji.json: ' + e);
}
let emojiObjects;
try {
    emojiObjects = JSON.parse(jsonContents);
} catch (e) {
    throw new Error('Failed to parse emoji.json: ' + e);
}

On obtient une liste d'objets correspondants aux émojis. Tout ça peut être fait une seule fois quand l'extension est activée. On peut ensuite récupérer un caractère par exemple:

emojiObjects[372].char

abakkk avatar Aug 18 '18 15:08 abakkk

intéressant, je garde la requête ouverte pour le retrouver au cas où je trouve un truc pour générer les fichiers de traduction

maoschanz avatar Aug 18 '18 16:08 maoschanz

Beaucoup plus simple, tu renomme le fichier emoji.js, tu rajoute "var = " au début, tu l'importe et c'est pareil.

abakkk avatar Aug 18 '18 16:08 abakkk