third_party.pylibs.pylint.src/elisp/pylint.el

59 lines
1.5 KiB
EmacsLisp
Raw Normal View History

2008-03-27 11:16:00 +00:00
;;
;; Modifications done by Yarosav O. Halchenko (2008):
;; - enable user-visible variables
;; distributed under the same copyright/license terms as
;; pylint itself
;;
(require 'compile)
;; user definable variables
;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
(defgroup pylint nil
"Emacs support for the Pylint Python checker"
:group 'languages
:prefix "pylint-")
(defcustom pylint-options "--output-format=parseable"
"*Command line options to be used with pylint call"
:type 'string
:group 'pylint)
2006-04-26 10:48:09 +00:00
;; adapted from pychecker for pylint
(defun pylint-python-hook ()
2006-04-26 10:48:09 +00:00
(defun pylint ()
"Run pylint against the file behind the current buffer after
checking if unsaved buffers should be saved."
(interactive)
(let* ((file (buffer-file-name (current-buffer)))
2008-03-27 11:16:00 +00:00
(command (concat "pylint " pylint-options " \"" file "\"")))
2006-04-26 10:48:09 +00:00
(save-some-buffers (not compilation-ask-about-save) nil) ; save files.
(compile-internal command "No more errors or warnings" "pylint")))
;; (local-set-key [f1] 'pylint)
;; (local-set-key [f2] 'previous-error)
;; (local-set-key [f3] 'next-error)
2006-04-26 10:48:09 +00:00
(define-key
py-mode-map
[menu-bar Python pylint-separator]
'("--" . pylint-seperator))
(define-key
py-mode-map
[menu-bar Python next-error]
'("Next error" . next-error))
(define-key
py-mode-map
[menu-bar Python prev-error]
'("Previous error" . previous-error))
(define-key
py-mode-map
[menu-bar Python lint]
'("Pylint" . pylint))
)
(add-hook 'python-mode-hook 'pylint-python-hook)