diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 677e6e961..52a7fec92 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -93,6 +93,11 @@ :init (setq coffee-indent-like-python-mode t)) +(def-package! web-beautify :commands web-beautify-js + :init + (map! :map* (json-mode js2-mode-map) :n "gQ" 'web-beautify-js)) + + ;; ;; Projects ;; diff --git a/modules/lang/javascript/packages.el b/modules/lang/javascript/packages.el index d20fe8ef8..5d245d684 100644 --- a/modules/lang/javascript/packages.el +++ b/modules/lang/javascript/packages.el @@ -7,6 +7,7 @@ (package! jsx-mode) (package! nodejs-repl) (package! tern) +(package! web-beautify) (when (featurep! :completion company) (package! company-tern)) @@ -16,7 +17,7 @@ ;; (def-bootstrap! javascript - (unless (cl-every 'executable-find '("node" "npm" "tern")) + (unless (cl-every 'executable-find '("node" "npm" "tern" "js-beautify")) (pcase (doom-system-os) ('arch (let (progs) @@ -31,6 +32,7 @@ (unless (executable-find "node") (error "Failed to install NodeJS")) (unless (executable-find "tern") - (funcall (if (file-writable-p (executable-find "npm")) 'sh 'sudo) - "npm -g install tern")) + (sh "npm -g install tern")) + (unless (executable-find "js-beautify") + (sh "npm -g install js-beautify")) t)) diff --git a/modules/lang/web/config.el b/modules/lang/web/config.el index 02b9afd3a..f162c2304 100644 --- a/modules/lang/web/config.el +++ b/modules/lang/web/config.el @@ -4,6 +4,15 @@ (load! +css) +(def-package! web-beautify + :commands (web-beautify-html web-beautify-css) + :init + (map! (:map* (css-mode-map scss-mode-map less-css-mode-map) + :n "gQ" 'web-beautify-css) + (:map* web-mode-map + :n "gQ" 'web-beautify-html))) + + ;; ;; Frameworks ;; diff --git a/modules/lang/web/packages.el b/modules/lang/web/packages.el index acdc45ce1..28105098b 100644 --- a/modules/lang/web/packages.el +++ b/modules/lang/web/packages.el @@ -2,6 +2,7 @@ ;;; lang/web/packages.el (package! rainbow-mode) +(package! web-beautify) (when (featurep! :completion ivy) (package! counsel-css :recipe (:fetcher github :repo "hlissner/emacs-counsel-css")))