問題節點REPL有一些"special commands"類似.break
和.save
。我從來沒有使用這些,但我確實非常頻繁嘗試粘貼到按照以下格式,像這樣REPL代碼:如何在node.js REPL中禁用「特殊命令」?
words.append('ul')
.classed('my-class', true)
.selectAll('li.new-class')
.data((tuple, tupleIdx) => obj[tupleIdx])
.enter()
.append('li')
.classed('new-class', true)
.text(d => '' + foo(d));
(這是d3.js代碼,但類似的事情發生使用時承諾,鏈的開始在每一行。.then(...)
S)
當然節點抱怨「無效REPL關鍵字」,當它看到.classed
或.then
在單獨的行,並進行到打印多個屏幕長的錯誤消息的序列。
脆弱的僞解決方法我身邊這個工作與Vim的正規式的點(:%s/)\n\(\s*\)\./).\r\1/
的完整性)後移動關閉括號和點之間的任何空白來,但這是乏味的時候,我想禁止複製從瀏覽器粘貼,而不是切換到Vim重新格式化一些代碼。
問題是否有任何方法可以禁用節點REPL「功能」,雖然這是好意的,與標準JavaScript實踐相沖突,例如以點開頭的行?
或者是這個太複雜了終端應用程序,如果是這樣,是有辦法,我可以通過瀏覽器的JS控制檯與節點REPL溝通(不node-monkey只處理console.log
)
PS。這個問題主要是關於以.
開頭的行,但另一個這樣的衝突是_
(謝謝n_)。