diff options
Diffstat (limited to 'emacs.d/custom')
-rw-r--r-- | emacs.d/custom/fcuny-flycheck.el | 62 |
1 files changed, 13 insertions, 49 deletions
diff --git a/emacs.d/custom/fcuny-flycheck.el b/emacs.d/custom/fcuny-flycheck.el index 26e9b72..4c76d09 100644 --- a/emacs.d/custom/fcuny-flycheck.el +++ b/emacs.d/custom/fcuny-flycheck.el @@ -2,66 +2,30 @@ (use-package flycheck :ensure t + :hook (prog-mode . flycheck-mode ) :custom ((flycheck-idle-change-delay 2) - (flycheck-emacs-lisp-load-path 'inherit)) + (flycheck-emacs-lisp-load-path 'inherit) + (flycheck-highlighting-mode 'lines) + (flycheck-check-syntax-automatically '(mode-enabled save))) :config (progn - (use-package flycheck-pos-tip - :ensure t - :config - (flycheck-pos-tip-mode)) - - (add-hook 'prog-mode-hook 'flycheck-mode) (setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc)) - (setq flycheck-highlighting-mode 'lines) - (setq flycheck-check-syntax-automatically '(mode-enabled save)) - (flycheck-define-checker source-check + (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> + ;;; 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 'source-check) - - (defface fc/flycheck-error - '((t (:foreground "#f40000"))) - "Face for flycheck error feedback in the modeline." - :group 'fc/flycheck) - (defface fc/flycheck-warning - '((t (:foreground "#724a09"))) - "Face for flycheck warning feedback in the modeline." - :group 'fc/flycheck) - ;;; errors are reported like this: - ;;; E241:ERROR <file name>:<line> <message> - (defface fc/flycheck-info - '((t (:foreground "#19baff"))) - "Face for flycheck info feedback in the modeline." - :group 'fc/flycheck) - (defface fc/flycheck-success - '((t (:foreground "#2cb250"))) - "Face for flycheck success feedback in the modeline." - :group 'fc/flycheck) + (add-to-list 'flycheck-checkers 'fcuny/source-check-python))) - (setq flycheck-mode-line - '(:eval - (pcase flycheck-last-status-change - (`running (propertize " ⟲ Running" 'face 'fc/flycheck-info)) - (`errored (propertize " ⚠ Error" 'face 'fc/flycheck-error)) - (`no-checker (propertize " ⚠ No Checker" 'face 'fc/flycheck-info)) - (`suspicious (propertize " ⚠ Suspicious" 'face 'fc/flycheck-warning)) - (`not-checked (propertize " ✖ Disabled" 'face 'fc/flycheck-info)) - (`interrupted (propertize " ⚠ Interrupted" 'face 'fc/flycheck-warning)) - (`finished - (let* ((error-counts (flycheck-count-errors flycheck-current-errors)) - (no-errors (cdr (assq 'error error-counts))) - (no-warnings (cdr (assq 'warning error-counts))) - (face (cond (no-errors 'fc/flycheck-error) - (no-warnings 'fc/flycheck-warning) - (t 'fc/flycheck-success)))) - (propertize (if (or no-errors no-warnings) (format " ✘ %s/%s Issues" (or no-errors 0) (or no-warnings 0)) " ✔ No Issues") 'face face)))))))) +(use-package flycheck-pos-tip + :after flycheck + :ensure t + :config + (flycheck-pos-tip-mode)) (provide 'fcuny-flycheck) |