lang/php: refactor company init

This commit is contained in:
Henrik Lissner 2020-02-27 23:27:28 -05:00
parent 429decef87
commit 56cba7828c
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 11 additions and 12 deletions

View file

@ -1,5 +1,8 @@
;;; lang/php/config.el -*- lexical-binding: t; -*-
(defvar +php--company-backends nil
"List of company backends to use in `php-mode'.")
(after! projectile
(add-to-list 'projectile-project-root-files "composer.json"))
@ -23,7 +26,10 @@
(add-hook 'php-mode-local-vars-hook #'lsp!)
;; `+php-company-backend' uses `company-phpactor', `php-extras-company' or
;; `company-dabbrev-code', in that order.
(set-company-backend! 'php-mode '+php-company-backend 'company-dabbrev-code))
(when +php--company-backends
(set-company-backend! 'php-mode
(cons :separate +php--company-backends)
'company-dabbrev-code)))
;; Use the smallest `sp-max-pair-length' for optimum `smartparens' performance
(setq-hook! 'php-mode-hook sp-max-pair-length 5)
@ -43,6 +49,8 @@
(use-package! phpactor
:unless (featurep! +lsp)
:after php-mode
:init
(add-to-list '+php--company-backends #'company-phpactor nil 'eq)
:config
(set-lookup-handlers! 'php-mode
:definition #'phpactor-goto-definition)
@ -74,6 +82,8 @@
:preface
;; We'll set up company support ourselves
(advice-add #'php-extras-company-setup :override #'ignore)
:init
(add-to-list '+php--company-backends #'php-extras-company)
:config
(setq php-extras-eldoc-functions-file
(concat doom-etc-dir "php-extras-eldoc-functions"))