summary refs log tree commit diff
path: root/emacs/custom/fcuny-flycheck.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/custom/fcuny-flycheck.el')
-rw-r--r--emacs/custom/fcuny-flycheck.el27
1 files changed, 27 insertions, 0 deletions
diff --git a/emacs/custom/fcuny-flycheck.el b/emacs/custom/fcuny-flycheck.el
new file mode 100644
index 0000000..e1805b2
--- /dev/null
+++ b/emacs/custom/fcuny-flycheck.el
@@ -0,0 +1,27 @@
+(eval-when-compile
+  (require 'use-package)
+  (require 'fcuny-flycheck-py))
+
+(use-package flycheck
+  :ensure t
+  :hook (prog-mode . flycheck-mode )
+  :custom
+  (flycheck-idle-change-delay 2)
+  (flycheck-emacs-lisp-load-path 'inherit)
+  (flycheck-highlighting-mode 'lines)
+  (flycheck-check-syntax-automatically '(mode-enabled save))
+  (flycheck-disabled-checkers '(emacs-lisp-checkdoc))
+  :config
+  (progn
+    (flycheck-define-checker fcuny/source-check-python
+      "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 (id (1+ nonl)) ":ERROR" (1+ nonl) ":" line (message) line-end)
+                       (warning line-start (id (1+ nonl)) ":WARNING" (1+ nonl) ":" line (message) line-end))
+      :predicate fcuny/check-source-predicate-python-p
+      :modes (python-mode))
+    (add-to-list 'flycheck-checkers 'fcuny/source-check-python)))
+
+(provide 'fcuny-flycheck)