Add web-mode and make jsx files open with it

This commit is contained in:
2016-03-01 08:54:03 +00:00
parent 249665c887
commit 38f256bbb1
3 changed files with 60 additions and 0 deletions

13
modules/siren-jsx.el Normal file
View File

@@ -0,0 +1,13 @@
;;; siren-jsx.el --- jimeh's Emacs Siren: .jsx file configuration
;;; Commentary:
;; Basic configuration for dealing with .jsx files.
;;; Code:
(require 'siren-web-mode)
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . web-mode))
(provide 'siren-jsx)
;;; siren-jsx.el ends here

45
modules/siren-web-mode.el Normal file
View File

@@ -0,0 +1,45 @@
;;; siren-web-mode.el --- jimeh's Emacs Siren: web-mode configuration.
;;; Commentary:
;; Basic configuration for web-mode.
;;; Code:
(require 'siren-programming)
(siren-require-packages '(web-mode))
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.html.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
(eval-after-load 'web-mode
'(progn
(defun siren-web-mode-mode-defaults ()
"Default tweaks for `web-mode'."
(setq web-mode-code-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(setq web-mode-markup-indent-offset 2)
(setq web-mode-sql-indent-offset 2)
(setq tab-width 2)
(siren-prog-mode-defaults)
(company-mode +1)
(subword-mode +1)
(hs-minor-mode 1)
(highlight-indentation-set-offset 2)
(highlight-indentation-mode)
(highlight-indentation-current-column-mode)
(let ((map web-mode-map))
(define-key map (kbd "C-j") 'newline-and-indent)
(define-key map (kbd "C-c C-h") 'siren-toggle-hiding)))
(setq siren-web-mode-mode-hook 'siren-web-mode-mode-defaults)
(add-hook 'web-mode-hook (lambda ()
(run-hooks 'siren-web-mode-mode-hook)))))
(provide 'siren-web-mode)
;;; siren-web-mode.el ends here

View File

@@ -52,6 +52,7 @@
(require 'siren-go)
(require 'siren-js)
(require 'siren-json)
(require 'siren-jsx)
(require 'siren-lua)
(require 'siren-makefile)
(require 'siren-markdown)
@@ -60,6 +61,7 @@
(require 'siren-scss)
(require 'siren-sh)
(require 'siren-thrift)
(require 'siren-web-mode)
(require 'siren-yaml)
(provide 'siren-modules)