Skip to content

Commit af635fa

Browse files
geniusgordoncarloscuesta
authored andcommitted
✨ Autocomplete for cli (#33)
Add search functionality when commiting #30 Signed-off-by: Gordon <geniusgordon@gmail.com>
1 parent 16dd2e3 commit af635fa

File tree

3 files changed

+56
-7
lines changed

3 files changed

+56
-7
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"conf": "^0.12.0",
4646
"execa": "^0.6.0",
4747
"inquirer": "^3.0.1",
48+
"inquirer-autocomplete-prompt": "^0.8.0",
4849
"meow": "^3.7.0",
4950
"path-exists": "^3.0.0",
5051
"update-notifier": "^2.0.0"

src/gitmoji.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const inquirer = require('inquirer');
77
const execa = require('execa');
88
const pathExists = require('path-exists');
99
const Conf = require('conf');
10+
inquirer.registerPrompt('autocomplete', require('inquirer-autocomplete-prompt'));
1011

1112
const config = new Conf();
1213

@@ -136,13 +137,17 @@ class GitmojiCli {
136137
{
137138
name: 'gitmoji',
138139
message: 'Choose a gitmoji:',
139-
type: 'list',
140-
choices: gitmojis.map(gitmoji => {
141-
return {
142-
name: `${gitmoji.emoji} - ${gitmoji.description}`,
143-
value: gitmoji.code
144-
};
145-
})
140+
type: 'autocomplete',
141+
source: (answersSoFor, input) => {
142+
return Promise.resolve(gitmojis
143+
.filter(gitmoji => !input || gitmoji.name.concat(gitmoji.description).toLowerCase().indexOf(input.toLowerCase()) !== -1)
144+
.map(gitmoji => {
145+
return {
146+
name: `${gitmoji.emoji} - ${gitmoji.description}`,
147+
value: gitmoji.code
148+
};
149+
}));
150+
}
146151
},
147152
{
148153
name: 'title',

yarn.lock

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -919,10 +919,43 @@ inherits@2, inherits@~2.0.1:
919919
version "2.0.3"
920920
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
921921

922+
inherits@2.0.1:
923+
version "2.0.1"
924+
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
925+
922926
ini@~1.3.0:
923927
version "1.3.4"
924928
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
925929

930+
inquirer-autocomplete-prompt@^0.8.0:
931+
version "0.8.0"
932+
resolved "https://registry.yarnpkg.com/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-0.8.0.tgz#cf17dcef93f031932ee90d6e8ccc62a806d7ba7a"
933+
dependencies:
934+
ansi-escapes "^1.1.0"
935+
chalk "^1.1.3"
936+
figures "^2.0.0"
937+
inquirer "3.0.5"
938+
lodash "^4.17.4"
939+
util "^0.10.3"
940+
941+
inquirer@3.0.5:
942+
version "3.0.5"
943+
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.5.tgz#172cabc8eacbfb91d595f5d7c354b446b8141f65"
944+
dependencies:
945+
ansi-escapes "^1.1.0"
946+
chalk "^1.0.0"
947+
cli-cursor "^2.1.0"
948+
cli-width "^2.0.0"
949+
external-editor "^2.0.1"
950+
figures "^2.0.0"
951+
lodash "^4.3.0"
952+
mute-stream "0.0.7"
953+
run-async "^2.2.0"
954+
rx "^4.1.0"
955+
string-width "^2.0.0"
956+
strip-ansi "^3.0.0"
957+
through "^2.3.6"
958+
926959
inquirer@^0.12.0:
927960
version "0.12.0"
928961
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
@@ -1259,6 +1292,10 @@ lodash@^4.0.0, lodash@^4.13.1, lodash@^4.3.0:
12591292
version "4.17.2"
12601293
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42"
12611294

1295+
lodash@^4.17.4:
1296+
version "4.17.4"
1297+
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
1298+
12621299
log-symbols@^1.0.2:
12631300
version "1.0.2"
12641301
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
@@ -2044,6 +2081,12 @@ util-deprecate@~1.0.1:
20442081
version "1.0.2"
20452082
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
20462083

2084+
util@^0.10.3:
2085+
version "0.10.3"
2086+
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
2087+
dependencies:
2088+
inherits "2.0.1"
2089+
20472090
uuid@^2.0.1:
20482091
version "2.0.3"
20492092
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"

0 commit comments

Comments
 (0)