use poper emacs namespace, move keys to dedicated minor mode

This commit is contained in:
Maciej 2021-03-06 10:52:54 +02:00
parent 7f5f90ae4d
commit 76c7d665c7
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
38 changed files with 337 additions and 221 deletions

51
lang/web.el Normal file
View file

@ -0,0 +1,51 @@
;;; web -- summary
;;; Commentary:
;;; Code:
(require 'icejam-pkg-lsp "$HOME/.emacs.d/pkg/lsp.el")
(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el")
(use-package web-mode
:requires (lsp-mode flycheck)
:ensure t)
;; Eex Web mode
(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.leex\\'" . web-mode))
;; ERB mode
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
;; React Typescript
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))
;; Plain React
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . web-mode))
(setq web-mode-extra-auto-pairs
'(("eex" . (("<%" "%>")))
("leex" . (("<%" "%>")))
("erb" . (("<%" "%>")
("beg" "end")))))
(defun activate-web-mode ()
"Web mode overrides."
;; Indent web mode scripts by 2
(setq-local web-mode-script-padding 2)
(setq-local web-mode-code-indent-offset 2)
(setq-local web-mode-markup-indent-offset 2)
(setq-local lsp-eldoc-enable-hover nil)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
(add-to-list (make-local-variable 'company-backends)
'(company-capf company-yasnippet))
(when (string-match-p "jsx" (buffer-file-name))
(lsp))
(when (string-match-p "tsx" (buffer-file-name))
(lsp)))
(add-hook 'web-mode-hook 'activate-web-mode)
(provide 'icejam-lang-web)
;;; web.el ends here