19 de septiembre de 2009

on the fly PEP8 compliance check for Emacs

Hola!

Hace unos días estuve buscando algún plugin para Geany que hiciera chequeo de PEP8 compliance. No encontré :-P

¡Pero! Sí encontré cómo hacerlo con el majestuoso Emacs (gracias a Gustavo por la ayuda!):

¿Cómo?
Nota: Asumo Ubuntu 9.04 y Emacs.

A por ello:
Primero: instalar pychecker y flymake
matias@terpsicores:~$ sudo apt-get install pychecker
matias@terpsicores:~$ sudo easy_install flymake
Descargar flymake.el y pep8.py.


Más acerca de PEP8 acá.

Copiar flymake.el dentro de ~/emacs.d/
matias@terpsicores:~$ cp flymake.el ~/emacs.d/

Copiar pep8.py en /usr/bin/ y darle los permisos adecuados:
matias@terpsicores:~$ sudo cp pep8.py /usr/bin/
matias@terpsicores:~$ sudo chmod 755 /usr/bin/pep8.py
Copiar esto dentro de ~/.emacs

(when (load "flymake" t)
 (defun flymake-pylint-init ()
   (let* ((temp-file (flymake-init-create-temp-buffer-copy
                      'flymake-create-temp-inplace))
          (local-file (file-relative-name
                       temp-file
                       (file-name-directory buffer-file-name))))
         (list "pep8.py" (list "--repeat" local-file))))

 (add-to-list 'flymake-allowed-file-name-masks
              '("\\.py\\'" flymake-pylint-init)))

Acá dejo una copia de mi .emacs, por si acaso.

Por último, teniendo abierto algún archivo .py, en Emacs:
x
flymake-mode




Y listo!

4 comentarios:

J. dijo...

esta medio raro el skin.. ?

Baco dijo...

Y escribirlo para Geany no valía? BTW, me gustó mucho el estilo de tu blog.

Matías dijo...

@carpincho: Medio raro? Puede ser, está bonito.

@Baco: Jeje, podría ser. Eso sería motivo de un futuro post :-)

M.-

Gus dijo...

Dejen el Geany, Emacs FTW :P

Igual yo tengo el chequeo de PEP8 on the fly activado y se buggea como loco :D

Salta un cartel violento de un problema raro con el flymake...debe ser por las asquerosidades que hago con mi codigo
JAJA

Abrazo