dotfiles/emacs/.emacs.d/init/oni-php-mode-init.org

51 lines
1.1 KiB
Org Mode

#+TITLE: PHP
Turn on electric pairing in php-mode.
#+BEGIN_SRC emacs-lisp
(add-hook 'php-mode-hook 'electric-pair-local-mode)
#+END_SRC
Turn on electric indenting in php-mode.
#+BEGIN_SRC emacs-lisp
(add-hook 'php-mode-hook 'electric-indent-local-mode)
#+END_SRC
Enable flycheck in php-mode.
#+BEGIN_SRC emacs-lisp
(add-hook 'php-mode-hook 'flycheck-mode)
#+END_SRC
Reset =require-final-newline= because the default php-mode style
disables it.
#+BEGIN_SRC emacs-lisp
(defun oni:set-require-final-newline ()
(setq require-final-newline t))
(add-hook 'php-mode-hook 'oni:set-require-final-newline)
#+END_SRC
Enable company mode for completion.
#+BEGIN_SRC emacs-lisp
(add-hook 'php-mode-hook 'company-mode)
#+END_SRC
Load a PHP-specific completion back-end when company mode is loaded.
#+BEGIN_SRC emacs-lisp
(eval-when-compile (require 'company))
(with-eval-after-load 'company
(require 'company-php)
(add-to-list 'company-backends 'company-ac-php-backend))
#+END_SRC
Enable ggtags-mode for tags browsing with global.
#+BEGIN_SRC emacs-lisp
(add-hook 'php-mode-hook 'ggtags-mode)
#+END_SRC