UNPKG

@codeque/cli

Version:

Multiline code search for every language. Structural code search for JavaScript, TypeScript, HTML and CSS

45 lines (44 loc) 2.08 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.waitForSearchDecision = void 0; const readline_1 = __importDefault(require("readline")); const utils_1 = require("./utils"); function waitForSearchDecision() { return __awaiter(this, void 0, void 0, function* () { (0, utils_1.print)('🔍 Ctrl+s 👉 search again', ' 🚪 Ctrl+c 👉 finish'); return new Promise((resolve) => { const keypressListener = (char, key) => { if (key.name === 's' && key.ctrl) { rl.close(); process.stdin.off('keypress', keypressListener); resolve(true); } if (key.name === 'c' && key.ctrl) { rl.close(); process.stdin.off('keypress', keypressListener); resolve(false); } }; process.stdin.on('keypress', keypressListener); const rl = readline_1.default.createInterface({ input: process.stdin, output: undefined, terminal: true, prompt: '', }); }); }); } exports.waitForSearchDecision = waitForSearchDecision;