From 5f0f2f90361a4c0a76478b288998595fc3ddebd2 Mon Sep 17 00:00:00 2001 From: Roger Gonzalez Date: Wed, 8 Apr 2020 10:38:14 -0300 Subject: Added my old emacs config --- .emacs.d.back/setup/setup-web-mode.el | 73 +++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .emacs.d.back/setup/setup-web-mode.el (limited to '.emacs.d.back/setup/setup-web-mode.el') diff --git a/.emacs.d.back/setup/setup-web-mode.el b/.emacs.d.back/setup/setup-web-mode.el new file mode 100644 index 00000000..7f6857e7 --- /dev/null +++ b/.emacs.d.back/setup/setup-web-mode.el @@ -0,0 +1,73 @@ +;;; setup-web-mode.el --- rogs default web mode configuration +;; +;;; Commentary: +;; +;; My default configuration for web mode +;; +;;; Code: + +;; Web Mode: Begin +;; JSX configs: http://cha1tanya.com/2015/06/20/configuring-web-mode-with-jsx.html +(require 'web-mode) +(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.css\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.scss\\'" . web-mode)) +(add-to-list 'auto-mode-alist '("\\.es6\\'" . web-mode)) + +;; Use web-mode for .jsx files +(add-to-list 'auto-mode-alist '("\\.jsx$" . web-mode)) + +;; Use web-mode for .hbs files +(add-to-list 'auto-mode-alist '("\\.hbs$" . web-mode)) + +(setq web-mode-content-types-alist + '(("jsx" . "\\.js[x]?\\'") + ("javascript" . "\\.es6?\\'"))) + +(defadvice web-mode-highlight-part (around tweak-jsx activate) + (if (equal web-mode-content-type "jsx") + (let ((web-mode-enable-part-face nil)) + ad-do-it) + ad-do-it)) + +(defadvice web-mode-highlight-part (around tweak-jsx activate) + (if (equal web-mode-content-type "js") + (let ((web-mode-enable-part-face nil)) + ad-do-it) + ad-do-it)) + +;; Style-Gook +(defun my-web-mode-hook () + "Hooks for Web mode." + (setq web-mode-enable-auto-pairing t) + (setq web-mode-enable-css-colorization t) + (setq web-mode-enable-auto-expanding t) + (setq web-mode-enable-current-element-highlight t) + (setq web-mode-enable-current-column-highlight t) + ) + +;; Emmet-Hook +(add-hook 'web-mode-before-auto-complete-hooks + '(lambda () + (let ((web-mode-cur-language + (web-mode-language-at-pos))) + (if (string= web-mode-cur-language "css") + (setq emmet-use-css-transform t) + (setq emmet-use-css-transform nil))))) + +(add-hook 'web-mode-hook 'emmet-mode) ;; Auto-start on any markup modes +(add-hook 'html-mode-hook 'emmet-mode) ;; Auto-start on any markup modes +(add-hook 'web-mode-hook 'my-web-mode-hook) +(add-hook 'web-mode-hook #'emmet-mode) +(setq emmet-preview-default t) +(add-hook 'web-mode-hook 'rainbow-mode) + +(provide 'setup-web-mode) +;;; setup-web-mode.el ends here -- cgit v1.2.3