aboutsummaryrefslogtreecommitdiffstats
path: root/emacs/.emacs.d/init/oni-php-mode-init.org
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.emacs.d/init/oni-php-mode-init.org')
-rw-r--r--emacs/.emacs.d/init/oni-php-mode-init.org51
1 files changed, 51 insertions, 0 deletions
diff --git a/emacs/.emacs.d/init/oni-php-mode-init.org b/emacs/.emacs.d/init/oni-php-mode-init.org
new file mode 100644
index 0000000..17b6ce7
--- /dev/null
+++ b/emacs/.emacs.d/init/oni-php-mode-init.org
@@ -0,0 +1,51 @@
+#+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