Module

x/cliffy/prompt/figures.ts

Command line framework for deno ๐Ÿฆ• Including Commandline-Interfaces, Prompts, CLI-Table, Arguments Parser and more...
Extremely Popular
Go to Latest
File
const main = { ARROW_UP: "โ†‘", ARROW_DOWN: "โ†“", ARROW_LEFT: "โ†", ARROW_RIGHT: "โ†’", ARROW_UP_LEFT: "โ†–", ARROW_UP_RIGHT: "โ†—", ARROW_DOWN_RIGHT: "โ†˜", ARROW_DOWN_LEFT: "โ†™", RADIO_ON: "โ—‰", RADIO_OFF: "โ—ฏ", TICK: "โœ”", CROSS: "โœ˜", ELLIPSIS: "โ€ฆ", POINTER_SMALL: "โ€บ", LINE: "โ”€", POINTER: "โฏ", INFO: "โ„น", TAB_LEFT: "โ‡ค", TAB_RIGHT: "โ‡ฅ", ESCAPE: "โŽ‹", BACKSPACE: "โŒซ", PAGE_UP: "โ‡ž", PAGE_DOWN: "โ‡Ÿ", ENTER: "โ†ต", SEARCH: "โŒ•",};
const win = { ...main, RADIO_ON: "(*)", RADIO_OFF: "( )", TICK: "โˆš", CROSS: "ร—", POINTER_SMALL: "ยป",};
/** Prompt icons. */export const Figures = Deno.build.os === "windows" ? win : main;
const keyMap: Record<string, keyof typeof Figures> = { up: "ARROW_UP", down: "ARROW_DOWN", left: "ARROW_LEFT", right: "ARROW_RIGHT", pageup: "PAGE_UP", pagedown: "PAGE_DOWN", tab: "TAB_RIGHT", enter: "ENTER", return: "ENTER",};
export function getFiguresByKeys(keys: Array<string>): Array<string> { const figures: Array<string> = []; for (const key of keys) { const figure = Figures[keyMap[key]] ?? key; if (!figures.includes(figure)) { figures.push(figure); } } return figures;}