From 8ffcac2bcfdc30bc8f36fb9e55569d9a04992edc Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 15 Sep 2022 09:29:21 -0400 Subject: Some better web goodies --- lisp/web.el | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) (limited to 'lisp/web.el') diff --git a/lisp/web.el b/lisp/web.el index c78d40e..a161e0f 100644 --- a/lisp/web.el +++ b/lisp/web.el @@ -6,6 +6,7 @@ :config (setq web-mode-markup-indent-offset 2 web-mode-code-indent-offset 2 + web-mode-css-indent-offset 2 web-mode-enable-current-element-highlight t web-mode-enable-current-column-highlight t )) @@ -13,50 +14,41 @@ (add-to-list 'auto-mode-alist '("\\.css\\'" . web-mode)) (add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode)) (add-to-list 'auto-mode-alist '("\\.php\\'" . web-mode)) -(defun my-web-mode-hook () - "Hooks for Web mode." - (setq web-mode-markup-indent-offset 2) - (setq web-mode-css-indent-offset 2) - (setq web-mode-code-indent-offset 2) -) -(add-hook 'web-mode-hook 'my-web-mode-hook) ;; JavaScript (require 'js2-mode) (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) +(push '("\\.js[x]?\\'" . js2-mode) auto-mode-alist) (add-hook 'js2-mode-hook #'js2-imenu-extras-mode) -(defun my-js2-mode-hook() +(defun setup-js2-mode() "Hooks for Javscript 2 Mode." (setq js-indent-level 2) (company-mode t) (company-quickhelp-mode t) + (smartparens-mode 1) ) -(add-hook 'js2-mode-hook 'my-js2-mode-hook) -(add-hook 'js2-mode-hook #'smartparens-mode) -(push '("\\.js[x]?\\'" . js2-mode) auto-mode-alist) -(define-key js2-mode-map (kbd "M-.") nil) -(add-hook 'js2-mode-hook (lambda () - (add-hook 'xref-backend-functions #'xref-js2-xref-backend nil t))) +(add-hook 'js2-mode-hook 'setup-js2-mode) (setq js2-highlight-level 3) (setq js2-idle-timer-delay 0.1) ;; JS2-Refactor (use-package js2-refactor) (add-hook 'js2-mode-hook #'js2-refactor-mode) -(defun keybind-setup() +(defun js2-refactor-keybind-setup() "Set up the keybinds." (local-set-key [f2] 'js2r-rename-var) ) -(add-hook 'js2-mode-hook 'keybind-setup) +(add-hook 'js2-mode-hook 'js2-refactor-keybind-setup) ;; Typescript (defun setup-ts-mode() (interactive) - (typescript-indent-level 2) + (setq typescript-indent-level 2) (company-mode t) (company-quickhelp-mode t) + (smartparens-mode 1) ) (define-derived-mode typescriptreact-mode web-mode "TypescriptReact" @@ -67,7 +59,10 @@ (add-hook 'typescript-mode-hook #'setup-ts-mode) (add-hook 'typescriptreact-mode-hook #'setup-ts-mode) +;; Package management (use-package eglot + :custom + (eglot-autoshutdown t) :ensure t :defer 3 :hook @@ -79,11 +74,6 @@ eglot-server-programs :test #'equal) -;; Web goodies -(autoload 'json-mode "json-mode" - "Use the json-mode package to provide 'json-mode on-demand." - t) - ;; Ignore certain directories in projectile (with-eval-after-load 'projectile (add-to-list 'projectile-globally-ignored-directories "node_modules") -- cgit v1.2.1