Skip to main content
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;}