From 051af71d11064650f6a03f4c2ad2075cae9c3ec0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 26 Feb 2016 09:43:29 -0500 Subject: [PATCH] php-mode: tied php-refactor-mode into emr --- modules/module-php.el | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/modules/module-php.el b/modules/module-php.el index 5438164c1..f103f5ace 100644 --- a/modules/module-php.el +++ b/modules/module-php.el @@ -23,9 +23,26 @@ (load (concat php-extras-eldoc-functions-file ".el")) (message "PHP eldoc updated!")))) - ;; TODO Tie into emr - (require 'php-refactor-mode) - (add-hook! php-mode '(turn-on-eldoc-mode emr-initialize php-refactor-mode))) + (use-package php-refactor-mode + :init + (add-hook! php-mode '(turn-on-eldoc-mode emr-initialize php-refactor-mode)) + :config + (require 'emr) + (mapc (lambda (x) + (let ((command-name (car x)) + (title (cadr x)) + (region-p (caddr x)) + predicate) + (setq predicate (cond ((eq region-p 'both) nil) + (t (if region-p + (lambda () (use-region-p)) + (lambda () (not (use-region-p))))))) + (emr-declare-command (intern (format "php-refactor--%s" (symbol-name command-name))) + :title title :modes 'php-mode :predicate predicate))) + '((convert-local-to-instance-variable "convert local var to instance var" nil) + (optimize-use "optimize FQNs in file" nil) + (extract-method "extract method" t) + (rename-local-variable "rename local variable" nil))))) ;; PHP Repl (use-package php-boris :defer t