Я пытаюсь изменить приглашение для REPL Node с текстом, указанным внутри REPL.Изменить запрос REPL из REPL
Моя первоначальная попытка была чем-то вроде этого.
import repl from 'repl'
let PROMPT = 'original > '
repl.start({
ignoreUndefined: true,
prompt: PROMPT,
eval: (text, context, filename, callback) => {
PROMPT = `${text} >`
return callback()
}
})
Я понял, что это не сработает, потому что подсказка для repl устанавливается при запуске процесса.
Я придумал что-то вроде этого, которое начинает новую замену новым приглашением после когда-либо введенной команды.
import repl from 'repl'
let PROMPT = 'original > '
let REPL = createRepl(PROMPT)
function createRepl (prompt) {
return repl.start({
ignoreUndefined: true,
prompt: PROMPT,
eval: (text, context, filename, callback) => {
PROMPT = `${text.replace(/\n/, '')} >`
REPL.close()
REPL = createRepl(PROMPT)
}
})
}
Это решение почти там, проблема заключается в том, что процесс завершается, когда я закрываю оригинальный REPL.
Я просто пытаюсь изменить запрос REPL внутри скрипта после запуска процесса. Я открыт для любых способов сделать это. В идеале prompt
prop принял функцию с аргументом prompt
и позволил вам установить ее изнутри функции, затем я мог бы использовать событие или что-то еще.
:: facepalm :: работает как шарм, спасибо! – ThomasReggi