UNPKG

@visulima/ansi

Version:

ANSI escape codes for some terminal swag.

128 lines (123 loc) 4.2 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const constants = require('./packem_shared/constants-BK26O-46.cjs'); var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); const MOUSE_BIT_SHIFT = 4; const MOUSE_BIT_ALT = 8; const MOUSE_BIT_CTRL = 16; const MOUSE_BIT_MOTION = 32; const MOUSE_BIT_WHEEL = 64; const MOUSE_BIT_ADDITIONAL = 128; const MOUSE_BUTTON_BITS_MASK = 3; const X10_MOUSE_OFFSET = 32; const MouseButton = { BACKWARD: 8, BUTTON_1: 1, // Left BUTTON_2: 2, // Middle BUTTON_3: 3, // Right BUTTON_4: 4, // Wheel Up BUTTON_5: 5, // Wheel Down BUTTON_6: 6, // Wheel Left BUTTON_7: 7, // Wheel Right BUTTON_8: 8, // Aux 1 (e.g., Browser Backward) BUTTON_9: 9, // Aux 2 (e.g., Browser Forward) BUTTON_10: 10, // Aux 3 BUTTON_11: 11, // Aux 4 FORWARD: 9, // Aliases LEFT: 1, MIDDLE: 2, NONE: 0, // Also used for release if no specific button for release RELEASE: 0, RIGHT: 3, WHEEL_DOWN: 5, WHEEL_LEFT: 6, WHEEL_RIGHT: 7, WHEEL_UP: 4 }; const encodeMouseButtonByte = /* @__PURE__ */ __name((button, motion, modifiers = {}) => { let callback; if (button === MouseButton.RELEASE) { callback = MOUSE_BUTTON_BITS_MASK; } else if (button >= MouseButton.LEFT && button <= MouseButton.RIGHT) { callback = button - MouseButton.LEFT; } else if (button >= MouseButton.WHEEL_UP && button <= MouseButton.WHEEL_RIGHT) { callback = button - MouseButton.WHEEL_UP; callback |= MOUSE_BIT_WHEEL; } else if (button >= MouseButton.BACKWARD && button <= MouseButton.BUTTON_11) { callback = button - MouseButton.BACKWARD; callback |= MOUSE_BIT_ADDITIONAL; } else { return 255; } if (modifiers.shift) { callback |= MOUSE_BIT_SHIFT; } if (modifiers.alt) { callback |= MOUSE_BIT_ALT; } if (modifiers.ctrl) { callback |= MOUSE_BIT_CTRL; } if (motion) { callback |= MOUSE_BIT_MOTION; } return callback; }, "encodeMouseButtonByte"); const mouseX10Sequence = /* @__PURE__ */ __name((callback, x, y) => { if (callback === 255) { return ""; } const charCallback = String.fromCodePoint(callback + X10_MOUSE_OFFSET); const charCx = String.fromCodePoint(x + 1 + X10_MOUSE_OFFSET); const charCy = String.fromCodePoint(y + 1 + X10_MOUSE_OFFSET); return `${constants.ESC}[M${charCallback}${charCx}${charCy}`; }, "mouseX10Sequence"); const mouseSgrSequence = /* @__PURE__ */ __name((callback, x, y, isRelease) => { if (callback === 255) { return ""; } const finalChar = isRelease ? "m" : "M"; return `${constants.ESC}[<${callback};${x + 1};${y + 1}${finalChar}`; }, "mouseSgrSequence"); const enableX10Mouse = `${constants.ESC}[?9h`; const disableX10Mouse = `${constants.ESC}[?9l`; const enableNormalMouse = `${constants.ESC}[?1000h`; const disableNormalMouse = `${constants.ESC}[?1000l`; const enableButtonEventMouse = `${constants.ESC}[?1002h`; const disableButtonEventMouse = `${constants.ESC}[?1002l`; const enableAnyEventMouse = `${constants.ESC}[?1003h`; const disableAnyEventMouse = `${constants.ESC}[?1003l`; const enableSgrMouse = `${constants.ESC}[?1006h`; const disableSgrMouse = `${constants.ESC}[?1006l`; const enableFocusTracking = `${constants.ESC}[?1004h`; const disableFocusTracking = `${constants.ESC}[?1004l`; exports.MouseButton = MouseButton; exports.disableAnyEventMouse = disableAnyEventMouse; exports.disableButtonEventMouse = disableButtonEventMouse; exports.disableFocusTracking = disableFocusTracking; exports.disableNormalMouse = disableNormalMouse; exports.disableSgrMouse = disableSgrMouse; exports.disableX10Mouse = disableX10Mouse; exports.enableAnyEventMouse = enableAnyEventMouse; exports.enableButtonEventMouse = enableButtonEventMouse; exports.enableFocusTracking = enableFocusTracking; exports.enableNormalMouse = enableNormalMouse; exports.enableSgrMouse = enableSgrMouse; exports.enableX10Mouse = enableX10Mouse; exports.encodeMouseButtonByte = encodeMouseButtonByte; exports.mouseSgrSequence = mouseSgrSequence; exports.mouseX10Sequence = mouseX10Sequence;