2010-04-14 3 views
7

Что мне хотелось бы, если для Cc Cc запустить py.test и отобразить вывод в другом буфере, если имя редактируемого файла начинается с test_ и обычно запускается py-execute-buffer в противном случае. Как мне это сделать? Я использую emacs 23.1.1 с python-mode и могу получить доступ к py.test из командной строки.Запуск py.test от emacs

ответ

7

Это не особенно хорошо проверено; это просто грубая идея.

(defun py-do-it() 
    (interactive) 
    (if (string-match 
     (rx bos "test_") 
     (file-name-nondirectory (buffer-file-name))) 
     (compile "py.test") 
    (py-execute-buffer))) 

(add-hook 'python-mode-hook 
      (lambda() 
      (local-set-key 
      (kbd "F5")     ;or whatever 
      'py-do-it))) 
+0

Спасибо, я попробовал, и он отлично работает. – Nikwin

+0

После того как я работал с ним еще некоторое время, я решил, что хочу, чтобы py.test запускался только в текущем буфере, поэтому я заменил (скомпилировал «py.test») с помощью команды оболочки (concat «py.test» (буфер -имя файла))) – Nikwin

Смежные вопросы