2013-03-06 1 views
2

Я следовал за предложением здесь ... R: Display a time clock in the R command line, чтобы отобразить подсказку R в последний раз, когда я ввел команду. Но теперь M-r и M-p повреждены, потому что ESS больше не распознает мою постоянно меняющуюся командную строку как начало командной строки.Как получить ESS для распознавания динамического приглашения в R?

Кто-нибудь знает, какой вариант изменить, чтобы для всех целей, где требуется обнаружение приглашения, вместо соответствия всей строке приглашения ESS будет соответствовать только постоянному хвостовому концу или, еще лучше, регулярному выражению типа "^[0-9] {6} [0-9] {2}: [0-9] {2}> "

Спасибо.

+0

Любая идея, на что 'ESS' в настоящее время ищет, чтобы определить приглашение? Я имею в виду, что элемент внутри 'R', который представляет строку приглашения. –

ответ

0

Мой ess/ess-custom.el содержит следующие строки:

;; does it make sense to customize here, as we currently set this *directly* 
;; in the FOO-BAR-cust-alist's ??? 
;; VS: Right. It only confuses users. It should be set in post-run-hook if 
;; desired; inferior-S-prompt should be customized instead. 
(defvar inferior-ess-primary-prompt "> " 
    "Regular expression used by `ess-mode' to detect the primary prompt.") 

(make-variable-buffer-local 'inferior-ess-primary-prompt) 
;; (setq-default inferior-ess-primary-prompt "> ") 

(defvar inferior-ess-secondary-prompt nil 
    "Regular expression used by ess-mode to detect the secondary prompt. 
(This is issued by S to continue an incomplete expression). 
Set to nil if language doesn't support secondary prompt.") 
;; :group 'ess-proc 
;; :type 'string) 

(make-variable-buffer-local 'inferior-ess-secondary-prompt) 
;; (setq-default inferior-ess-secondary-prompt "+ ") 

;; need to recognise + + + > > > 
;; and "+ . + " in tracebug prompt 
(defcustom inferior-S-prompt "[]a-zA-Z0-9.[]*\\([>+.] \\)*[+>] " 
    "Regexp used in S and R inferior and transcript buffers for prompt navigation. 

You can set it to \"[]a-zA-Z0-9.[]*\\(> \\)+\" if you want to 
skip secondary prompt when invoking `comint-previous-prompt'. 
" 
    :group 'ess-proc 
    :type 'string) 

Таким образом, я надеюсь, что настройка любого из этих переменных поможет. Вероятно, начиная с настраиваемого, т. Е. inferior-S-prompt.