Skip to content

Commit ba6dd51

Browse files
committed
feat: better search autocomplete
1 parent b2b7bd0 commit ba6dd51

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

lib/cli.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const chalk = require("chalk");
55
const langsList = require("./countries.json");
66
const prompts = require("prompts");
77
// const semver = require("semver");
8+
const fuzzy = require("fuzzy");
89
const ora = require("ora");
910
const { extract } = require("pacote");
1011
const glob = require("fast-glob");
@@ -27,13 +28,13 @@ module.exports = async (argvs) => {
2728
).start();
2829
await fs.ensureDir(tempDir);
2930
try {
30-
// const { from: nameWithVersion } = await extract(
31-
// packageName + "@" + version,
32-
// tempDir,
33-
// {}
34-
// );
35-
// await fs.copy(tempDir + "/dist", targetDir);
36-
// const timerDownloaded = timer.get();
31+
const { from: nameWithVersion } = await extract(
32+
packageName + "@" + version,
33+
tempDir,
34+
{}
35+
);
36+
await fs.copy(tempDir + "/dist", targetDir);
37+
const timerDownloaded = timer.get();
3738
await onLoad(targetDir, version, argv);
3839
spinner.succeed(
3940
`${nameWithVersion} copied to ${targetDir} in ${timerDownloaded}. Have fun!`
@@ -79,9 +80,9 @@ const onLoad = async (targetDir, version, argv) => {
7980
message: "Select language",
8081
choices: langListOut,
8182
suggest: async (input, choices) => {
82-
return choices.filter((v) =>
83-
v.title.toLowerCase().includes(input.toLowerCase())
84-
);
83+
return fuzzy
84+
.filter(input, choices, { extract: (el) => el.title })
85+
.map((v) => v.original);
8586
},
8687
},
8788
];

package-lock.json

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"elapsed-time-logger": "^1.1.2",
3535
"fast-glob": "^3.2.2",
3636
"fs-extra": "^9.0.0",
37+
"fuzzy": "^0.1.3",
3738
"ora": "^4.0.4",
3839
"pacote": "^11.1.10",
3940
"prompts": "^2.3.2",

0 commit comments

Comments
 (0)