summaryrefslogtreecommitdiff
path: root/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'init.el')
-rw-r--r--init.el44
1 files changed, 44 insertions, 0 deletions
diff --git a/init.el b/init.el
index 90df93d..500dced 100644
--- a/init.el
+++ b/init.el
@@ -59,3 +59,47 @@
(use-package nix-ts-mode
:mode "\\.nix\\'")
+;; Web development
+(use-package web-mode)
+
+;; Angular
+(define-derived-mode angular-mode web-mode "angular")
+
+;; TODO: automatic ngserver path evaluation
+;; (with-eval-after-load 'eglot
+;; (let ((ngserver-path (executable-find "ngserver")))
+;; (when ngserver-path
+;; (add-to-list 'eglot-server-programs
+;; '(angular-mode . ("ngserver"
+;; "--stdio"
+;; "--tsProbeLocations"
+;; "./node_modules/typescript/lib"
+;; "--ngProbeLocations"
+;; ngserver-path))))))
+
+(with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs
+ '(angular-mode . ("ngserver"
+ "--stdio"
+ "--tsProbeLocations"
+ "./node_modules/typescript/lib"
+ "--ngProbeLocations"
+ "/etc/profiles/per-user/lloyd/bin/ngserver"))))
+
+
+(add-hook 'angular-mode-hook 'eglot-ensure)
+
+;; ;; Astro (depends on web-mode)
+;; (define-derived-mode astro-mode web-mode "astro")
+;; (setq auto-mode-alist
+;; (append '((".*\\.astro\\'" . astro-mode))
+;; auto-mode-alist))
+
+;; (with-eval-after-load 'eglot
+;; (add-to-list 'eglot-server-programs
+;; '(astro-mode . ("astro-ls" "--stdio"
+;; :initializationOptions
+;; (:typescript (:tsdk "./node_modules/typescript/lib"))))))
+
+;; (add-hook 'astro-mode-hook 'eglot-ensure)
+