summaryrefslogtreecommitdiff
path: root/modules/flycheck-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
committerCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
commit754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch)
treef1190704f78f04a2b0b4c977d20fe96a828377f1 /modules/flycheck-config.el
new repository
Diffstat (limited to 'modules/flycheck-config.el')
-rw-r--r--modules/flycheck-config.el47
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/flycheck-config.el b/modules/flycheck-config.el
new file mode 100644
index 00000000..1bad4cbd
--- /dev/null
+++ b/modules/flycheck-config.el
@@ -0,0 +1,47 @@
+;;; flycheck-config --- Syntax/Grammar Check -*- lexical-binding: t; -*-
+;; author Craig Jennings <c@cjennings.net>
+
+;;; Commentary:
+
+;;; Code:
+
+(defun cj/prose-helpers-on ()
+ "Ensure that abbrev, flyspell, and flycheck are on."
+ (interactive)
+ (if (not (abbrev-mode))
+ (abbrev-mode))
+ (flyspell-on-for-buffer-type)
+ (if (not (flycheck-mode))
+ (flycheck-mode)))
+
+;;;; ---------------------------------- Linting --------------------------------
+
+(use-package flycheck
+ :defer .5
+ :hook (sh-mode emacs-lisp-mode)
+ :bind ("C-; ?" . flycheck-list-errors)
+ :config
+ ;; don't warn about double-spaces after period.
+ (setq-default checkdoc-arguments '("sentence-end-double-space" nil "warn-escape" nil))
+
+ ;; proselint must be installed via the OS
+ (flycheck-define-checker proselint
+ "A linter for prose."
+ :command ("proselint" source-inplace)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ": "
+ (id (one-or-more (not (any " "))))
+ (message) line-end))
+ :modes (text-mode markdown-mode gfm-mode))
+ (add-to-list 'flycheck-checkers 'proselint))
+
+;; ;; https://github.com/emacs-grammarly/flycheck-grammarly
+;; (use-package flycheck-grammarly
+;; :defer 1
+;; :after flycheck
+;; :config
+;; (with-eval-after-load 'flycheck
+;; (flycheck-grammarly-setup)))
+
+(provide 'flycheck-config)
+;;; flycheck-config.el ends here