diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index 082c49b..16488c0 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -54,6 +54,9 @@ (require 'siren-vertico) (require 'siren-fussy) +;; Formatting +(require 'siren-prettier-js) + ;; Linting (require 'siren-flycheck) diff --git a/modules/formatting/siren-prettier-js.el b/modules/formatting/siren-prettier-js.el index 5f13c03..32f7d6e 100644 --- a/modules/formatting/siren-prettier-js.el +++ b/modules/formatting/siren-prettier-js.el @@ -8,10 +8,19 @@ (use-package prettier-js :defer t - :hook (prettier-js-mode . siren-prettier-js-mode-setup) + :hook + ((conf-toml-mode + css-mode + markdown-mode + nxml-mode + php-mode + rjsx-mode + typescript-mode + vue-mode) . siren-prettier-js-mode-enable) :preface - (defun siren-prettier-js-mode-setup ()) + (defun siren-prettier-js-mode-enable () + (prettier-js-mode t)) :config (let ((rc (expand-file-name "~/.prettierrc.js"))) diff --git a/modules/languages/siren-css.el b/modules/languages/siren-css.el index ffcfded..157afe4 100644 --- a/modules/languages/siren-css.el +++ b/modules/languages/siren-css.el @@ -7,7 +7,6 @@ ;;; Code: (require 'siren-lsp) -(require 'siren-prettier-js) (require 'siren-rainbow) (use-package css-mode @@ -23,7 +22,6 @@ (defun siren-css-mode-setup () (setq-local tab-width 2) - (prettier-js-mode) (lsp-deferred) (rainbow-mode +1))) diff --git a/modules/languages/siren-jsx.el b/modules/languages/siren-jsx.el index e9a9aeb..75e42df 100644 --- a/modules/languages/siren-jsx.el +++ b/modules/languages/siren-jsx.el @@ -7,7 +7,6 @@ ;;; Code: (require 'siren-origami) -(require 'siren-prettier-js) (use-package rjsx-mode :mode "components\\/.*\\.js\\'" @@ -16,7 +15,6 @@ :preface (defun siren-rjsx-mode-setup () - (prettier-js-mode +1) (origami-mode t) (subword-mode t)) diff --git a/modules/languages/siren-markdown.el b/modules/languages/siren-markdown.el index 237dfc2..5253908 100644 --- a/modules/languages/siren-markdown.el +++ b/modules/languages/siren-markdown.el @@ -10,7 +10,6 @@ (require 'siren-display-line-numbers) (require 'siren-flyspell) (require 'siren-move-dup) -(require 'siren-prettier-js) (require 'siren-smartparens) (use-package markdown-mode @@ -42,21 +41,23 @@ (defun siren-markdown-mode-setup () ;; Configure prettier after local vars are processed, allowing local ;; override of fill-column and have prettier respect it. - (add-hook 'hack-local-variables-hook - 'siren-markdown-mode-setup-prettier nil t) + (when (fboundp 'prettier-js-mode) + (add-hook 'hack-local-variables-hook + 'siren-markdown-mode-setup-prettier nil t)) (setq-local markdown-asymmetric-header t) (siren-display-fill-column t) (siren-display-line-numbers t) (auto-fill-mode t) - (prettier-js-mode t) (flyspell-mode t) (smartparens-mode t) (subword-mode t)) (defun siren-markdown-mode-setup-prettier () - (let ((args '("--parser" "markdown"))) + "Configure prettier-js-args based on auto-fill-column mode." + (let ((args (if (boundp 'prettier-js-args) prettier-js-args '()))) + (setq args (append args '("--parser" "markdown"))) (when (bound-and-true-p auto-fill-function) ;; is auto-fill-mode enabled? (setq args (append args (list "--print-width" (format "%d" fill-column) "--prose-wrap" "always")))) diff --git a/modules/languages/siren-php.el b/modules/languages/siren-php.el index 42dd82e..aa8c6b4 100644 --- a/modules/languages/siren-php.el +++ b/modules/languages/siren-php.el @@ -7,7 +7,6 @@ ;;; Code: (require 'siren-origami) -(require 'siren-prettier-js) (require 'siren-rainbow) (use-package php-mode @@ -18,7 +17,6 @@ :preface (defun siren-php-mode-setup () - (prettier-js-mode t) (rainbow-mode t) (subword-mode t) (origami-mode t))) diff --git a/modules/languages/siren-toml.el b/modules/languages/siren-toml.el index b1790f8..6b7120d 100644 --- a/modules/languages/siren-toml.el +++ b/modules/languages/siren-toml.el @@ -6,7 +6,6 @@ ;;; Code: -(require 'siren-prettier-js) (require 'siren-prog-mode) (use-package conf-toml-mode @@ -17,8 +16,7 @@ :preface (defun siren-toml-mode-setup () (run-hooks 'prog-mode-hook) - (setq-local tab-width 2) - (prettier-js-mode))) + (setq-local tab-width 2))) (provide 'siren-toml) ;;; siren-toml.el ends here diff --git a/modules/languages/siren-typescript.el b/modules/languages/siren-typescript.el index 2f0919d..c7333c3 100644 --- a/modules/languages/siren-typescript.el +++ b/modules/languages/siren-typescript.el @@ -9,7 +9,6 @@ (require 'siren-flycheck) (require 'siren-lsp) (require 'siren-origami) -(require 'siren-prettier-js) (require 'siren-web-mode) (use-package typescript-mode @@ -56,7 +55,6 @@ (setq-local flycheck-check-syntax-automatically '(save mode-enabled) company-tooltip-align-annotations t) - (prettier-js-mode t) (flycheck-mode t) (eldoc-mode t) (tide-hl-identifier-mode t)) diff --git a/modules/languages/siren-vue.el b/modules/languages/siren-vue.el index bd4ab7e..415ba46 100644 --- a/modules/languages/siren-vue.el +++ b/modules/languages/siren-vue.el @@ -6,7 +6,6 @@ ;;; Code: -(require 'siren-prettier-js) (require 'siren-mmm) (use-package vue-mode @@ -15,7 +14,6 @@ :preface (defun siren-vue-mode-setup () - (prettier-js-mode) (lsp-deferred) (subword-mode) (siren-folding))) diff --git a/modules/languages/siren-xml.el b/modules/languages/siren-xml.el index 97486ae..c69dbb7 100644 --- a/modules/languages/siren-xml.el +++ b/modules/languages/siren-xml.el @@ -6,7 +6,6 @@ ;;; Code: -(require 'siren-prettier-js) (require 'siren-prog-mode) (use-package nxml-mode @@ -21,8 +20,7 @@ :preface (defun siren-xml-setup () (run-hooks 'prog-mode-hook) - (setq-local tab-width 2) - (prettier-js-mode))) + (setq-local tab-width 2))) (provide 'siren-xml) ;;; siren-xml.el ends here