From c3aa5bb8b4b3e900037ac31a0c8006147ea68f10 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Wed, 6 Feb 2013 11:48:18 +0100 Subject: [PATCH] emacs: Use flycheck for python --- .emacs.d/init.org | 23 +++++++++++++++++++++++ .emacs.d/site-lisp/oni.el | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.emacs.d/init.org b/.emacs.d/init.org index 5edf00e..9070798 100644 --- a/.emacs.d/init.org +++ b/.emacs.d/init.org @@ -206,6 +206,29 @@ "Access to a protected member")))) #+END_SRC + After loading ~flycheck~ Remove the default python checkers and + replace them with my own, which tries both ~flake8~ and ~pylint~. + + #+BEGIN_SRC emacs-lisp :tangle init2.el + (eval-after-load "flycheck" + '(progn + (flycheck-declare-checker python-pycheck + "Uses pycheck.sh to check for errors/warnings." + :command '("pycheck.sh" source-inplace) + :error-patterns + '(("^\\(?1:.*\\):\\(?2:[0-9]+\\): Warning (W.*): \\(?4:.*\\)$" warning) + ("^\\(?1:.*\\):\\(?2:[0-9]+\\): Error (E.*): \\(?4:.*\\)$" error) + ("^\\(?1:.*\\):\\(?2:[0-9]+\\): \\[F\\] \\(?4:.*\\)$" error) + ("^\\(?1:.*?\\):\\(?2:[0-9]+\\):\\(?:\\(?3:[0-9]+\\):\\)? \\(?4:E[0-9]+.*\\)$" error) + ("^\\(?1:.*?\\):\\(?2:[0-9]+\\):\\(?:\\(?3:[0-9]+\\):\\)? \\(?4:W[0-9]+.*\\)$" warning) + ("^\\(?1:.*\\):\\(?2:[0-9]+\\): \\(?4:.*\\)$" error)) + :modes 'python-mode) + + (mapc (lambda (c) (delete c flycheck-checkers)) + '(python-flake8 python-pylint python-pyflakes)) + (add-to-list 'flycheck-checkers 'python-pycheck))) + #+END_SRC + ** Eshell Add ~unison~ to the list of =eshell-visual-commands= because it diff --git a/.emacs.d/site-lisp/oni.el b/.emacs.d/site-lisp/oni.el index b1c8b14..09a9d79 100644 --- a/.emacs.d/site-lisp/oni.el +++ b/.emacs.d/site-lisp/oni.el @@ -376,7 +376,7 @@ When dealing with braces, add another line and indent that too." (defun oni:python-mode-func () "Function for `python-mode-hook'." - (flymake-mode) + (flycheck-mode) (local-set-key (kbd "C->") 'python-indent-shift-right) (local-set-key (kbd "C-<") 'python-indent-shift-left) (set (make-local-variable 'electric-indent-chars) nil)