diff options
Diffstat (limited to 'emacs.d/core/core-flycheck.el')
-rw-r--r-- | emacs.d/core/core-flycheck.el | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/emacs.d/core/core-flycheck.el b/emacs.d/core/core-flycheck.el new file mode 100644 index 0000000..9c64bb1 --- /dev/null +++ b/emacs.d/core/core-flycheck.el @@ -0,0 +1,33 @@ +(use-package flycheck + :ensure t + :defer t + :preface (progn + (defun check-source-predicate () + (and (executable-find "check.pex") + (buffer-file-name) + (string-match "src/source/.*\.py$" (buffer-file-name))))) + :init + (progn + (add-hook 'prog-mode-hook 'flycheck-mode) + (setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc))) + :config + (progn + (flycheck-define-checker source-check + "A syntax checker for python source code in Source, using `check.pex'" + :command ("check.pex" source) + ;;; errors are reported like this: + ;;; E241:ERROR <file name>:<line> <message> + :error-patterns ((error line-start (1+ nonl) ":ERROR" (1+ nonl) ":" line (message) line-end)) + :predicate check-source-predicate + :modes (python-mode)) + (add-to-list 'flycheck-checkers 'source-check))) + +(use-package flycheck-pos-tip + :defer t + :init + (progn + (eval-after-load 'feature-flycheck + '(setq-default flycheck-display-errors-function #'flycheck-pos-tip-error-messages))) + :ensure t) + +(provide 'core-flycheck) |