aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2018-11-06 20:54:20 -0500
committerJesús <heckyel@hyperbola.info>2018-11-06 20:54:20 -0500
commit9ba7912df7f35524ba32d8222164a8430163f659 (patch)
tree584c9d0d2fe915c6856c7bcca3ad606b8ff1650a
parentb24078e2fc67c5821e0a2492acc66195370f69d9 (diff)
downloademacs-personal-9ba7912df7f35524ba32d8222164a8430163f659.tar.lz
emacs-personal-9ba7912df7f35524ba32d8222164a8430163f659.tar.xz
emacs-personal-9ba7912df7f35524ba32d8222164a8430163f659.zip
Added support for PHP + HTML combined with the help of mmm-mode
Note: remember that working with PHP and combined HTML isn't a best practice
-rw-r--r--custom.el2
-rw-r--r--init.el3
-rw-r--r--lisp/init-mmm-mode.el16
-rw-r--r--lisp/init-php.el4
-rw-r--r--lisp/init-web-mode.el4
5 files changed, 23 insertions, 6 deletions
diff --git a/custom.el b/custom.el
index abc9c14..4c98a47 100644
--- a/custom.el
+++ b/custom.el
@@ -11,7 +11,7 @@
'(ecb-options-version "2.50")
'(package-selected-packages
(quote
- (rainbow-mode yaml-mode scss-mode sass-mode less-css-mode ac-php pkgbuild-mode pip-requirements jedi markdown-mode crystal-mode web-mode nginx-mode emmet-mode whitespace-cleanup-mode flycheck neotree all-the-icons highlight-indent-guides anzu sml-modeline smart-mode-line-powerline-theme smart-mode-line ecb diminish undo-tree nlinum sublime-themes use-package))))
+ (mmm-mode web-mode rainbow-mode yaml-mode scss-mode sass-mode less-css-mode ac-php pkgbuild-mode pip-requirements jedi markdown-mode crystal-mode nginx-mode emmet-mode whitespace-cleanup-mode flycheck neotree all-the-icons highlight-indent-guides anzu sml-modeline smart-mode-line-powerline-theme smart-mode-line ecb diminish undo-tree nlinum sublime-themes use-package))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
diff --git a/init.el b/init.el
index 0b9f1f8..e894889 100644
--- a/init.el
+++ b/init.el
@@ -44,7 +44,6 @@
(require 'init-whitespace)
(require 'init-emmet-mode)
(require 'init-nginx)
-(require 'init-web-mode)
;;(require 'init-editorconfig)
;; Languages
(require 'init-ccc)
@@ -60,6 +59,8 @@
(require 'init-yaml)
;; Plus
(require 'init-rainbow)
+(require 'init-web-mode)
+(require 'init-mmm-mode)
;;; Loads custom file
(when (file-exists-p custom-file)
diff --git a/lisp/init-mmm-mode.el b/lisp/init-mmm-mode.el
new file mode 100644
index 0000000..75c18e3
--- /dev/null
+++ b/lisp/init-mmm-mode.el
@@ -0,0 +1,16 @@
+(use-package mmm-mode
+
+ :config
+
+ (setq mmm-global-mode 'maybe)
+ (mmm-add-mode-ext-class nil "\\.php?\\'" 'html-php)
+ (mmm-add-mode-ext-class nil "\\.ctp?\\'" 'html-php)
+ (set-face-background 'mmm-default-submode-face nil)
+ (mmm-add-classes
+ '((html-php
+ :submode php-mode
+ :front "<\\?\\(php\\)?"
+ :back "\\?>")))
+ )
+
+(provide 'init-mmm-mode)
diff --git a/lisp/init-php.el b/lisp/init-php.el
index 3183901..9874a28 100644
--- a/lisp/init-php.el
+++ b/lisp/init-php.el
@@ -1,10 +1,8 @@
(use-package ac-php)
(use-package php-mode
- :mode (("\\.php$" . php-mode)
- ("\\.inc$" . php-mode))
:config
- (add-hook 'php-mode-hook
+ (add-hook 'mmm-mode-hook
'(lambda ()
(auto-complete-mode t)
(require 'ac-php)
diff --git a/lisp/init-web-mode.el b/lisp/init-web-mode.el
index 5a04ce3..30252bf 100644
--- a/lisp/init-web-mode.el
+++ b/lisp/init-web-mode.el
@@ -3,7 +3,9 @@
("\\.djhtml\\'" . web-mode)
("\\.tpl\\'" . web-mode)
("\\.jsp\\'" . web-mode)
- ("\\.gsp\\'" . web-mode))
+ ("\\.gsp\\'" . web-mode)
+ ("\\.php\\'" . web-mode)
+ ("\\.ctp\\'" . web-mode))
:config
;; web-modeの設定
)