Lines Matching refs:repl

50 let debug = require('internal/util/debuglog').debuglog('repl', (fn) => {
60 const REPL_MODE_STRICT = Symbol('repl-strict');
143 function setupPreview(repl, contextSymbol, bufferSymbol, active) {
161 const displayPos = repl._getDisplayPos(`${repl.getPrompt()}${repl.line}`);
162 const cursorPos = repl.line.length !== repl.cursor ?
163 repl.getCursorPos() :
178 moveCursor(repl.output, 0, rows);
179 clearLine(repl.output);
180 moveCursor(repl.output, 0, -rows);
185 const move = repl.line.length !== repl.cursor;
189 cursorTo(repl.output, pos.displayPos.cols);
191 moveCursor(repl.output, 0, rows);
193 const totalLine = `${repl.getPrompt()}${repl.line}${completionPreview}`;
194 const newPos = repl._getDisplayPos(totalLine);
198 clearLine(repl.output, 1);
200 clearScreenDown(repl.output);
203 cursorTo(repl.output, pos.cursorPos.cols);
204 moveCursor(repl.output, 0, -rows);
209 escaped = repl.line;
213 escaped !== repl.line &&
215 repl._insertString(completionPreview);
220 if (escaped !== repl.line) {
230 repl.completer(line, (error, data) => {
262 repl._insertString(suffix);
268 const result = repl.useColors ?
273 if (repl.line.length !== repl.cursor) {
274 cursorTo(repl.output, displayPos.cols);
275 moveCursor(repl.output, 0, displayPos.rows - cursorPos.rows);
277 repl.output.write(result);
278 cursorTo(repl.output, cursorPos.cols);
279 const totalLine = `${repl.getPrompt()}${repl.line}${suffix}`;
280 const newPos = repl._getDisplayPos(totalLine);
282 moveCursor(repl.output, 0, -rows);
286 function isInStrictMode(repl) {
287 return repl.replMode === REPL_MODE_STRICT || ArrayPrototypeIncludes(
311 contextId: repl[contextSymbol],
329 (hasCompletions || !isInStrictMode(repl))))) {
337 ...repl.writer.options,
368 if (inputPreview !== null || !repl.isCompletionEnabled) {
372 const line = StringPrototypeTrim(repl.line);
384 showCompletionPreview(repl.line, insertPreview);
388 if (repl[bufferSymbol]) {
411 (!repl.useColors || repl.ignoreUndefined)) {
420 let maxColumns = MathMin(repl.columns, 250);
426 maxColumns -= 4 + (repl.useColors ? 0 : 3);
444 const result = repl.useColors ?
450 moveCursor(repl.output, 0, rows);
451 repl.output.write(`\n${result}`);
452 cursorTo(repl.output, cursorPos.cols);
453 moveCursor(repl.output, 0, -rows - 1);
460 escaped !== repl.line) {
479 const originalRefresh = FunctionPrototypeBind(repl._refreshLine, repl);
480 repl._refreshLine = () => {
489 const originalMoveCursor = FunctionPrototypeBind(repl._moveCursor, repl);
490 repl._moveCursor = (dx) => {
491 const currentCursor = repl.cursor;
493 if (currentCursor + dx > repl.line.length &&
494 typeof repl.completer === 'function' &&
497 showCompletionPreview(repl.line, insertPreview);
503 const originalClearLine = FunctionPrototypeBind(repl.clearLine, repl);
504 repl.clearLine = () => {
513 function setupReverseSearch(repl) {
549 alreadyMatched.add(repl.history[historyIndex]);
557 print(repl.line, `${labels[dir]}_`);
565 } else if (historyIndex >= repl.history.length) {
566 historyIndex = repl.history.length - 1;
569 while (historyIndex >= 0 && historyIndex < repl.history.length) {
570 let entry = repl.history[historyIndex];
592 if (repl.useColors) {
609 print(repl.line, `failed-${labels[dir]}${input}_`);
612 function print(outputLine, inputLine, cursor = repl.cursor) {
628 // repl.overlay(outputLine);
629 // repl.addTrailingLine(inputLine);
630 // repl.setCursor(cursor);
637 const line = StringPrototypeSlice(repl.history[lastMatch], 0, lastCursor);
638 rows = repl._getDisplayPos(`${repl.getPrompt()}${line}`).rows;
639 cursorTo(repl.output, promptPos.cols);
640 } else if (isInReverseSearch && repl.line !== '') {
641 rows = repl.getCursorPos().rows;
642 cursorTo(repl.output, promptPos.cols);
645 moveCursor(repl.output, 0, -rows);
648 clearScreenDown(repl.output);
649 repl.output.write(`${outputLine}\n${inputLine}`);
651 repl.output.write(`\n${inputLine}`);
658 const prompt = repl.getPrompt();
660 const cursorPos = repl._getDisplayPos(cursorLine);
661 const outputPos = repl._getDisplayPos(`${prompt}${outputLine}`);
662 const inputPos = repl._getDisplayPos(inputLine);
667 moveCursor(repl.output, 0, rows);
668 cursorTo(repl.output, cursorPos.cols);
678 repl.line = repl.history[lastMatch];
679 repl.cursor = lastCursor;
680 repl.historyIndex = lastMatch;
685 // Clear screen and write the current repl.line before exiting.
686 cursorTo(repl.output, promptPos.cols);
687 moveCursor(repl.output, 0, promptPos.rows);
688 clearScreenDown(repl.output);
689 if (repl.line !== '') {
690 repl.output.write(repl.line);
691 if (repl.line.length !== repl.cursor) {
692 const { cols, rows } = repl.getCursorPos();
693 cursorTo(repl.output, cols);
694 moveCursor(repl.output, 0, rows);
701 historyIndex = repl.historyIndex;
708 historyIndex = repl.historyIndex;
709 promptPos = repl._getDisplayPos(`${repl.getPrompt()}`);
710 print(repl.line, `${labels[dir]}_`);
734 repl[kSubstringSearch] = '';
746 REPL_MODE_SLOPPY: Symbol('repl-sloppy'),