UNPKG

@visulima/ansi

Version:

ANSI escape codes for some terminal swag.

74 lines (70 loc) 4.33 kB
import { C as CSI, E as ESC, S as SEP } from './constants-CE7WkXh_.mjs'; import './restoreCursor-C6pNB8UY.mjs'; const isBrowser = globalThis?.window?.document !== void 0; const isTerminalApp = !isBrowser && process.env.TERM_PROGRAM === "Apple_Terminal"; const isWindows = !isBrowser && (process.platform === "win32" || /^(?:msys|cygwin)$/.test(process.env.OSTYPE)); var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); const SAVE_CURSOR_DEC = `${ESC}7`; const RESTORE_CURSOR_DEC = `${ESC}8`; const CURSOR_UP_1 = `${CSI}A`; const CURSOR_DOWN_1 = `${CSI}B`; const CURSOR_FORWARD_1 = `${CSI}C`; const CURSOR_BACKWARD_1 = `${CSI}D`; const REQUEST_CURSOR_POSITION = `${CSI}6n`; const REQUEST_EXTENDED_CURSOR_POSITION = `${CSI}?6n`; const cursorBackward = /* @__PURE__ */ __name((count = 1) => `${CSI + count}D`, "cursorBackward"); const cursorDown = /* @__PURE__ */ __name((count = 1) => `${CSI + count}B`, "cursorDown"); const cursorForward = /* @__PURE__ */ __name((count = 1) => `${CSI + count}C`, "cursorForward"); const cursorHide = `${CSI}?25l`; const cursorToColumn1 = `${CSI}G`; const cursorLeft = /* @__PURE__ */ __name((count = 1) => cursorBackward(count), "cursorLeft"); const cursorHorizontalAbsolute = /* @__PURE__ */ __name((column = 1) => `${CSI + column}G`, "cursorHorizontalAbsolute"); const cursorMove = /* @__PURE__ */ __name((x, y) => { let returnValue = ""; if (x < 0) { returnValue += `${CSI + -x}D`; } else if (x > 0) { returnValue += `${CSI + x}C`; } if (y < 0) { returnValue += `${CSI + -y}A`; } else if (y > 0) { returnValue += `${CSI + y}B`; } return returnValue; }, "cursorMove"); const cursorNextLine = /* @__PURE__ */ __name((count = 1) => `${CSI + count}E`, "cursorNextLine"); const cursorPreviousLine = /* @__PURE__ */ __name((count = 1) => `${CSI + count}F`, "cursorPreviousLine"); const cursorRestore = isTerminalApp ? RESTORE_CURSOR_DEC : `${ESC}u`; const cursorSave = isTerminalApp ? SAVE_CURSOR_DEC : `${ESC}s`; const cursorShow = `${CSI}?25h`; const cursorTo = /* @__PURE__ */ __name((x, y) => { if (y === void 0) { return cursorHorizontalAbsolute(x + 1); } return `${CSI + (y + 1) + SEP + (x + 1)}H`; }, "cursorTo"); const cursorPosition = /* @__PURE__ */ __name((row, column) => { if (column === void 0) { return `${CSI + row}H`; } return `${CSI + row + SEP + column}H`; }, "cursorPosition"); const cursorHorizontalForwardTab = /* @__PURE__ */ __name((count = 1) => `${CSI + count}I`, "cursorHorizontalForwardTab"); const cursorBackwardTab = /* @__PURE__ */ __name((count = 1) => `${CSI + count}Z`, "cursorBackwardTab"); const eraseCharacter = /* @__PURE__ */ __name((count = 1) => `${CSI + count}X`, "eraseCharacter"); const cursorVerticalAbsolute = /* @__PURE__ */ __name((row = 1) => `${CSI + row}d`, "cursorVerticalAbsolute"); const cursorUp = /* @__PURE__ */ __name((count = 1) => `${CSI + count}A`, "cursorUp"); var CursorStyle = /* @__PURE__ */ ((CursorStyle2) => { CursorStyle2[CursorStyle2["BlinkingBar"] = 5] = "BlinkingBar"; CursorStyle2[CursorStyle2["BlinkingBlock"] = 1] = "BlinkingBlock"; CursorStyle2[CursorStyle2["BlinkingUnderline"] = 3] = "BlinkingUnderline"; CursorStyle2[CursorStyle2["Default"] = 0] = "Default"; CursorStyle2[CursorStyle2["SteadyBar"] = 6] = "SteadyBar"; CursorStyle2[CursorStyle2["SteadyBlock"] = 2] = "SteadyBlock"; CursorStyle2[CursorStyle2["SteadyUnderline"] = 4] = "SteadyUnderline"; return CursorStyle2; })(CursorStyle || {}); const setCursorStyle = /* @__PURE__ */ __name((style) => `${CSI + style} q`, "setCursorStyle"); export { isWindows as A, CursorStyle as B, CURSOR_BACKWARD_1 as C, REQUEST_CURSOR_POSITION as R, SAVE_CURSOR_DEC as S, CURSOR_DOWN_1 as a, CURSOR_FORWARD_1 as b, CURSOR_UP_1 as c, cursorBackward as d, cursorBackwardTab as e, cursorDown as f, cursorForward as g, cursorHide as h, cursorHorizontalAbsolute as i, cursorHorizontalForwardTab as j, cursorLeft as k, cursorMove as l, cursorNextLine as m, cursorPosition as n, cursorPreviousLine as o, cursorRestore as p, cursorSave as q, cursorShow as r, cursorTo as s, cursorToColumn1 as t, cursorUp as u, cursorVerticalAbsolute as v, eraseCharacter as w, REQUEST_EXTENDED_CURSOR_POSITION as x, RESTORE_CURSOR_DEC as y, setCursorStyle as z };