Подтвердить что ты не робот

Использование Node.js с JS-comint в Emacs

Я использую Emacs 24.2. Я установил js-comint и js-mode из MELPA, выполнил run-js, а теперь в REPL вместо > sign У меня эта тарабарщина:

^[[1G> ^[[0K^[[3G

Сам REPL в режиме Inferior Javascript работает нормально, только знак > изменяется. Если вы введете незавершенное выражение, оно даже распечатает ^[[1G... ^[[0K^[[5G. ^[ являются системными символами, которые не копируются с помощью copy-paste, я добавляю их для вас, чтобы иметь представление.

В моем init файле:

(require 'js-comint)
(setq inferior-js-program-command "nodejs")

В терминале, вызывающем nodejs, создается рабочий REPL.

Почему запрос ведет себя таким образом? Что я должен сделать, чтобы исправить это?

4b9b3361

Ответ 1

(setq inferior-js-mode-hook
      (lambda ()
        ;; We like nice colors
        (ansi-color-for-comint-mode-on)
        ;; Deal with some prompt nonsense
        (add-to-list
         'comint-preoutput-filter-functions
         (lambda (output)
           (replace-regexp-in-string "\033\\[[0-9]+[GK]" "" output)))))

\033 - символ escape, который он печатает как ^[.

Ответ 3

Не знаю, как недавно, но теперь можно скачать и использовать nodejs-repl.