L'interface du programme est simple. En lançant le programme, on est présenté un menu comme ci-après. Une fois le choix effectué, l'emoji est copié dans le presse-papier du système.
1) ʘ‿ʘ 2) ಠ_ಠ 3) (╯°□°)╯︵ ┻━┻
4) ┬─┬ ノ( ゜-゜ノ) 5) ┬─┬⃰͡ (ᵔᵕᵔ͜ ) 6) ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
7) ლ(`ー´ლ) 8) ʕ•ᴥ•ʔ 9) ʕᵔᴥᵔʔ
10) ʕ •`ᴥ•´ʔ 11) (。◕‿◕。) 12) ( ゚Д゚)
13) ¯\_(ツ)_/¯ 14) ¯\(°_o)/¯ 15) (`・ω・´)
16) (╬ ಠ益ಠ) 17) ლ(ಠ益ಠლ) 18) ☜(⌒▽⌒)☞
19) ε=ε=ε=┌(;*´Д`)ノ 20) ヽ(´▽`)/ 21) ヽ(´ー`)ノ
22) ᵒᴥᵒ# 23) V•ᴥ•V 24) ฅ^•ﻌ•^ฅ
25) ( ^_^)o自自o(^_^ ) 26) ಠ‿ಠ 27) ( ͡° ͜ʖ ͡°)
28) ಥ_ಥ 29) ಥ﹏ಥ 30) ٩◔̯◔۶
31) ᕙ(⇀‸↼‶)ᕗ 32) ᕦ(ò_óˇ)ᕤ 33) ⊂(◉‿◉)つ
34) q(❂‿❂)p 35) ⊙﹏⊙ 36) ¯\_(⊙︿⊙)_/¯
37) °‿‿° 38) ¿ⓧ_ⓧﮌ 39) (⊙.☉)7
40) (´・_・`) 41) щ(゚Д゚щ) 42) ٩(๏_๏)۶
43) ఠ_ఠ 44) ᕕ( ᐛ )ᕗ 45) (⊙_◎)
46) ミ●﹏☉ミ 47) ༼∵༽ ༼⍨༽ ༼⍢༽ ༼⍤༽ 48) ヽ༼ ಠ益ಠ ༽ノ
49) t(-_-t) 50) (ಥ⌣ಥ) 51) (づ ̄ ³ ̄)づ
52) (づ。◕‿‿◕。)づ 53) (ノಠ ∩ಠ)ノ彡( \o°o)\ 54) 。゚( ゚இ‸இ゚)゚。
55) ༼ ༎ຶ ෴ ༎ຶ༽ 56) “ヽ(´▽`)ノ” 57) ┌(ㆆ㉨ㆆ)ʃ
58) 눈_눈 59) ( ఠൠఠ )ノ 60) 乁( ◔ ౪◔)「 ┑( ̄Д  ̄)┍
61) (๑•́ ₃ •̀๑) 62) ⁽⁽ଘ( ˊᵕˋ )ଓ⁾⁾ 63) ◔_◔
64) ♥‿♥ 65) ԅ(≖‿≖ԅ) 66) ( ˘ ³˘)♥
67) ( ˇ෴ˇ ) 68) ヾ(-_- )ゞ 69) ♪♪ ヽ(ˇ∀ˇ )ゞ
70) ヾ(´〇`)ノ♪♪♪ 71) ʕ •́؈•̀) 72) ლ(•́•́ლ)
73) (ง'̀-'́)ง 74) ◖ᵔᴥᵔ◗ ♪ ♫ 75) {•̃_•̃}
76) (ᵔᴥᵔ) 77) (Ծ‸ Ծ) 78) (•̀ᴗ•́)و
79) [¬º-°]¬ 80) (☞゚ヮ゚)☞ 81) (っ•́。•́)♪♬
82) (҂◡_◡) 83) ƪ(ړײ)ƪ 84) ⥀.⥀
85) ح˚௰˚づ 86) ♨_♨ 87) (._.)
88) (⊃。•́‿•̀。)⊃ 89) (∩`-´)⊃━☆゚.*・。゚ 90) (っ˘ڡ˘ς)
91) ( ఠ ͟ʖ ఠ) 92) ( ͡ಠ ʖ̯ ͡ಠ) 93) ( ಠ ʖ̯ ಠ)
94) (งツ)ว 95) (◠﹏◠) 96) (ᵟຶ︵ ᵟຶ)
97) (っ▀¯▀)つ 98) ʚ(•` 99) (´ж`ς)
100) (° ͜ʖ͡°)╭∩╮ 101) ʕʘ̅͜ʘ̅ʔ 102) ح(•̀ж•́)ง †
103) -`ღ´- 104) (⩾﹏⩽) 105) ヽ( •_)ᕗ
106) ~(^-^)~ 107) \(ᵔᵕᵔ)/ 108) ᴖ̮ ̮ᴖ
109) ಠಠ 110) {ಠʖಠ}
Choix (valeurs entre 1 et 110) ?
Style readline
CTRL+L
/ESC
: redessine l'écran.CTRL+P
/ flèche haut: remonte l'historiqueCTRL+N
/ flèche bas: redescend l'historiqueCTRL+B
/ flèche gauche: déplace le curseur vers la gauche.CTRL+F
/ flèche droite: déplace le curseur vers la droite.CTRL+A
: déplace le curseur au début de la ligne.CTRL+E
: déplace le curseur à la fin de la ligne.CTRL+D
: supprime un caractère sous le curseur.- Retour arrière: efface un caractère.
Autres
CTRL+H
: affiche un texte d'aide directement durant l'exécution du programme.CTRL+Y
: efface l'entrée et copie l'emoji associé au choix si l'entrée est valide.CTRL+I
: affiche de l'information sur l'emoji.CTRL+R
: choix aléatoire d'un emoji et le copie dans la presse-papier.CTRL+T
: filtre les emojis avec fzf.
Haskell
Les paquets suivants sont nécessaires à la compilation:
unix
cassava
random
mmorph
ncurses
bytestring
utf8-string
vector
monad-loops
transformers
mtl
digits
process
lens
directory
Système
xclip
: permet d'interagir avec le presse-papier du système.fzf
(optionnel): permet de filtrer la liste des émoticônes.
Le projet utilise cabal
. On construit donc le binaire comme suit:
$ cabal new-build
Sur une machine 64-bit, le binaire résultant se trouve au chemin
dist-newstyle/build/x86_64-linux/ghc-8.6.5/emo-0.1.0.0/x/emo/build/emo/emo
.
NOTE: il est possible que le paquet Haskell de NCurses ne compile pas correctement tout dépendant de la plateforme. Par exemple la compilation pourrait donner:
<command line>: can't load .so/.DLL for: /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../lib/libpanel.so (-lpanelw: cannot open shared object file: No such file or directory)
Pour corriger ce problème il est possible que le fanion de compilation
use-pkgconfig
du paquet NCurses aide tout dépendant de la plateforme. Entre
autres, sur Archlinux, il faut l'utiliser en date du 2021-08-02:
$ cabal new-build --constraint="ncurses+use-pkgconfig"
Après avoir compilé, on peut simplement utiliser le programme comme suit:
$ cabal new-run -- emo -f data/emo.csv
L'utilisateur peut aussi utiliser le binaire dist/build/emo/emo
, mais c'est
plus long à taper.
Pour générer la documentation, simplement entrer par exemple:
$ cabal new-haddock
Par la suite, le fichier dist-new/**/index.html
contient le point d'entrée du
document web.
Simplement placer le binaire dans un répertoire en concordance avec la valeur de
$PATH
sur votre système. De plus, le fichier data/emo.csv
peut être placé
à l'emplacement $XDG_CONFIG/emo.csv
afin d'appeler emo
sans option. La
valeur par défaut de $XDG_CONFIG
est ~/.config/
sur GNU/Linux.
Ainsi, une fois le binaire et le fichier de données installé, le programme s'appelle simplement comme suit:
$ emo