syor-cli-selector
v1.0.3
Published
提供了一个命令行选择器的类,以及对应的方法,和对应的使用示例。
Readme
使用示例
// 使用quickSelect调用;
async function quickSelect() {
const example_framworks = [
{ name: "Vue.js", type: "前端框架", stars: "200k+" },
{ name: "React", type: "前端库", stars: "198k+" },
{ name: "Angular", type: "前端框架", stars: "85k+" },
{ name: "Svelte", type: "编译器", stars: "65k+" },
{ name: "Next.js", type: "React框架", stars: "100k+" },
{ name: "Nuxt.js", type: "Vue框架", stars: "42k+" },
];
return createSelector({
message: "选择全栈框架配置:",
items: example_framworks.map((f) => `${f.name} (${f.type}) - ⭐${f.stars}`),
});
}// 使用构造函数调用
import { EnhancedInteractiveSelect } from './enhanced-interactive-select.js';
async function advancedSelect() {
const selector = new EnhancedInteractiveSelect({
message: "请选择您喜欢的编程语言:",
items: ["JavaScript", "TypeScript", "Python", "Go", "Rust", "Java", "C++"],
pageSize: 4,
initialIndex: 2,
styles: {
selected: "\x1b[36m", // 青色选中项
pointer: "👉", // 自定义指针图标
normal: "\x1b[90m" // 灰色普通项
}
});
try {
const result = await selector.prompt();
console.log(`选择结果:`, result);
return result;
} catch (error) {
console.error("选择过程出错:", error);
}
}