2010-04-14 17 views
7

Lo que me gustaría si Cc Cc ejecuta py.test y muestra el resultado en el otro buffer si el nombre del archivo que se está editando comienza con test_ y normalmente ejecutar py-execute-buffer de otra manera. ¿Cómo haría esto? Estoy usando emacs 23.1.1 con python-mode y puedo acceder a py.test desde la línea de comandos.Ejecutando py.test desde emacs

Respuesta

7

Esto no ha sido especialmente probado; es solo una idea aproximada.

(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

Gracias, lo probé y está funcionando bien. – Nikwin

+0

Después de trabajar con él un rato más, decidí que quería que py.test se ejecutara solo en el búfer actual, por lo que reemplacé (compilé "py.test") con (shell-command (concat "py.test" (buffer) -nombre del archivo))) – Nikwin