diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md
index 79a8f896f1533e..613090c476e247 100644
--- a/doc/api/deprecations.md
+++ b/doc/api/deprecations.md
@@ -684,6 +684,7 @@ difference is that `querystring.parse()` does url encoding:
{ '%E5%A5%BD': '1' }
```
+<<<<<<< HEAD
### DEP0077: Module.\_debug()
@@ -692,6 +693,15 @@ Type: Runtime
`Module._debug()` has been deprecated.
*Note*: `Module._debug()` was never documented as an officially supported API.
+=======
+
+### DEP00XX: REPLServer.turnOffEditorMode()
+
+Type: Runtime
+
+`REPLServer.turnOffEditorMode()` was removed from userland visibility.
+
+>>>>>>> repl: document REPLServer.turnOffEditorMode deprecation
[`Buffer.allocUnsafeSlow(size)`]: buffer.html#buffer_class_method_buffer_allocunsafeslow_size
[`Buffer.from(array)`]: buffer.html#buffer_class_method_buffer_from_array
diff --git a/lib/repl.js b/lib/repl.js
index 0d1aca6aa546c9..53b8d2c46c5938 100644
--- a/lib/repl.js
+++ b/lib/repl.js
@@ -397,7 +397,7 @@ function REPLServer(prompt,
self.on('SIGINT', function onSigInt() {
var empty = self.line.length === 0;
self.clearLine();
- self.turnOffEditorMode();
+ _turnOffEditorMode(self);
const cmd = self[kBufferedCommandSymbol];
if (!(cmd && cmd.length > 0) && empty) {
@@ -539,7 +539,7 @@ function REPLServer(prompt,
if (key.ctrl && !key.shift) {
switch (key.name) {
case 'd': // End editor mode
- self.turnOffEditorMode();
+ _turnOffEditorMode(self);
sawCtrlD = true;
ttyWrite(d, { name: 'return' });
break;
@@ -691,11 +691,10 @@ REPLServer.prototype.setPrompt = function setPrompt(prompt) {
REPLServer.super_.prototype.setPrompt.call(this, prompt);
};
-REPLServer.prototype.turnOffEditorMode = function() {
- this.editorMode = false;
- this.setPrompt(this._initialPrompt);
-};
-
+REPLServer.prototype.turnOffEditorMode = util.deprecate(
+ function() { _turnOffEditorMode(this); },
+ 'REPLServer.turnOffEditorMode() is deprecated',
+ 'DEP00XX');
// A stream to push an array into a REPL
// used in REPLServer.complete
@@ -1182,6 +1181,16 @@ function addStandardGlobals(completionGroups, filter) {
}
}
+function _turnOnEditorMode(repl) {
+ repl.editorMode = true;
+ REPLServer.super_.prototype.setPrompt.call(repl, '');
+}
+
+function _turnOffEditorMode(repl) {
+ repl.editorMode = false;
+ repl.setPrompt(repl._initialPrompt);
+}
+
function defineDefaultCommands(repl) {
repl.defineCommand('break', {
help: 'Sometimes you get stuck, this gets you out',
@@ -1254,15 +1263,14 @@ function defineDefaultCommands(repl) {
try {
var stats = fs.statSync(file);
if (stats && stats.isFile()) {
- this.editorMode = true;
- REPLServer.super_.prototype.setPrompt.call(this, '');
+ _turnOnEditorMode(this);
var data = fs.readFileSync(file, 'utf8');
var lines = data.split('\n');
for (var n = 0; n < lines.length; n++) {
if (lines[n])
this.write(`${lines[n]}\n`);
}
- this.turnOffEditorMode();
+ _turnOffEditorMode(this);
this.write('\n');
} else {
this.outputStream.write('Failed to load:' + file +
@@ -1279,8 +1287,7 @@ function defineDefaultCommands(repl) {
help: 'Enter editor mode',
action() {
if (!this.terminal) return;
- this.editorMode = true;
- REPLServer.super_.prototype.setPrompt.call(this, '');
+ _turnOnEditorMode(this);
this.outputStream.write(
'// Entering editor mode (^D to finish, ^C to cancel)\n');
}
diff --git a/test/parallel/test-repl-turn-off-editor-mode.js b/test/parallel/test-repl-turn-off-editor-mode.js
new file mode 100644
index 00000000000000..c98520c9ec46bf
--- /dev/null
+++ b/test/parallel/test-repl-turn-off-editor-mode.js
@@ -0,0 +1,14 @@
+'use strict';
+const common = require('../common');
+const repl = require('repl');
+
+testTurnOffEditorMode();
+
+function testTurnOffEditorMode() {
+ const server = repl.start({ prompt: '> ' });
+ const warn = 'REPLServer.turnOffEditorMode() is deprecated';
+
+ common.expectWarning('DeprecationWarning', warn);
+ server.turnOffEditorMode();
+ server.close();
+}