Set gtags layer keybindings for php-mode

This commit is contained in:
Kosta Harlan 2015-04-20 09:41:23 -04:00 committed by syl20bnr
parent 9aef93cb15
commit d829825f9e
3 changed files with 80 additions and 4 deletions

View file

@ -11,10 +11,15 @@
<!-- markdown-toc end -->
## Description
This layer adds PHP language support to Spacemacs
This layer adds PHP language support to Spacemacs.
Features:
- Edit php files using [php-mode][]
- Edit PHP files using [php-mode][]
- Edit Drupal files
- Run tests with PHPUnit
- Reformat code with PHP CBF
The `gtags` layer is strongly recommended.
## Install

View file

@ -0,0 +1,15 @@
;;; config.el --- PHP Layer config File for Spacemacs
;;
;; Copyright (c) 2012-2014 Sylvain Benner
;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
;;
;; Author: Kosta Harlan <kosta@kostaharlan.net>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;; variables
(spacemacs|defvar-company-backends php-mode)

View file

@ -10,9 +10,65 @@
;;
;;; License: GPLv3
(setq php-packages '(php-mode))
(defvar php-packages '(
php-mode
phpcbf
helm-gtags
ggtags
php-extras
flycheck
company
php-auto-yasnippets
phpunit
drupal-mode
)
)
(defun php/init-php-mode ()
(use-package php-mode
:defer t
:mode ("\\.php\\'" . php-mode)))
:mode ("\\.php\\'" . php-mode)
:config
(progn
(add-hook 'php-mode-hook 'eldoc-mode)
(add-hook 'php-mode-hook 'setq-local eldoc-documentation-function #'ggtags-eldoc-function)
(add-hook 'php-mode-hook
(lambda ()
(set (make-local-variable 'company-backends)
'((company-yasnippet company-gtags company-capf company-dabbrev-code company-keywords company-files php-extras-company)))))
)))
(defun php/init-php-extras ()
(use-package php-extras
:defer t
)
)
(defun php/init-phpcbf ()
(use-package phpcbf
:defer t
)
)
(defun php/init-php-auto-yasnippets ()
(use-package php-auto-yasnippets
:defer t))
(defun php/init-phpunit ()
(use-package phpunit
:defer t))
(defun php/init-drupal-mode ()
(use-package drupal-mode
:defer t
)
)
(when (configuration-layer/layer-usedp 'auto-completion)
(defun php/post-init-company ()
(spacemacs|add-company-hook php-mode))
)
(defun php/post-init-helm-gtags ()
(spacemacs/gtags-define-keys-for-mode 'php-mode))