From bc47e72984f9e6eb89a19e9560185188575b10c1 Mon Sep 17 00:00:00 2001 From: marty Date: Sun, 2 Jan 2022 20:21:13 +1100 Subject: [PATCH] tweak(web): detect and set angular in web-mode - Add @angular/core in detecting angular to set the web-angularjs minor mode - At the same time set the web-mode-engine to "angular" so that `format-all` uses prettier to format ionic `*.page.html` files in addition to `*.component.html` files. When `format-all` sees the web-mode-engine is set to "angular", it applies `prettier` as opposed to `html-tidy`, as `tidy` doesn't recognise angular component tags and hence errors out. The current web-mode only sets the engine to "angular" for "*.components.html". However, ionic angular uses file names such as "*.page.html", setting engine will apply prettier to these html fils. --- modules/lang/web/config.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/lang/web/config.el b/modules/lang/web/config.el index a1dccab9b..2185048c0 100644 --- a/modules/lang/web/config.el +++ b/modules/lang/web/config.el @@ -43,7 +43,10 @@ (when (featurep! :lang javascript) (def-project-mode! +web-angularjs-mode :modes '(+javascript-npm-mode) - :when (+javascript-npm-dep-p 'angular)) + :when (+javascript-npm-dep-p '(angular @angular/core)) + :on-enter + (when (derived-mode-p 'web-mode) + (web-mode-set-engine "angular"))) (def-project-mode! +web-react-mode :modes '(+javascript-npm-mode)