Massive refactor. Refactor all the things

This commit is contained in:
Henrik Lissner 2016-04-23 22:08:46 -04:00
parent 03514fc09d
commit f234be68a4
56 changed files with 792 additions and 831 deletions

View file

@ -2,26 +2,42 @@
(use-package hack-mode
:mode "\\.hh$"
:config (define-company-backend! hack-mode (capf)))
:init (def-company-backend! hack-mode (capf)))
(use-package php-mode
:mode ("\\.php[s345]?$" "\\.inc$" )
:interpreter "php"
:init
(define-docset! php-mode "php,laravel")
(define-company-backend! php-mode '(php-extras-company))
(def-repl! php-mode php-boris)
(def-docset! php-mode "php,laravel")
(def-company-backend! php-mode '(company-ac-php-backend php-extras-company))
(add-hook 'php-mode-hook 'flycheck-mode)
(setq php-template-compatibility nil
php-extras-eldoc-functions-file (concat narf-temp-dir "/php-extras-eldoc-functions"))
:config
(require 'php-extras)
(defun php-extras-company-setup ()) ;; company will set up itself
:config
(map! :map php-mode-map (:localleader :nv ";" 'narf/append-semicolon))
(sp-with-modes '(php-mode)
(sp-local-pair "/*" "*/" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
(sp-local-pair "/**" "*/" :post-handlers '(("||\n[i]" "RET") ("||\n[i]" "SPC")))
(sp-local-pair "<? " " ?>")
(sp-local-pair "<?php " " ?>")
(sp-local-pair "<?=" " ?>")
(sp-local-pair "<?" "?>" :when '(("RET")) :post-handlers '("||\n[i]"))
(sp-local-pair "<?php" "?>" :when '(("RET")) :post-handlers '("||\n[i]"))))
(use-package ac-php-company
:after php-mode
:config
(map! :map php-mode-map
(:localleader :nv ";" 'narf/append-semicolon)
:n "gd" 'ac-php-find-symbol-at-point
:n "gD" 'ac-php-location-stack-back)
:n "gD" 'ac-php-location-stack-back))
(use-package php-extras
:after php-mode
:config
(defun php-extras-company-setup ()) ;; company will set up itself
;; Generate php-extras documentation and completion asynchronously
(unless (file-exists-p (concat php-extras-eldoc-functions-file ".el"))
@ -31,43 +47,32 @@
(php-extras-generate-eldoc-1 t))
(lambda (_)
(load (concat php-extras-eldoc-functions-file ".el"))
(message "PHP eldoc updated!"))))
(message "PHP eldoc updated!")))))
(sp-with-modes '(php-mode)
(sp-local-pair "/*" "*/" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
(sp-local-pair "/**" "*/" :post-handlers '(("||\n[i]" "RET") ("||\n[i]" "SPC")))
(sp-local-pair "<? " " ?>")
(sp-local-pair "<?php " " ?>")
(sp-local-pair "<?=" " ?>")
(sp-local-pair "<?" "?>" :when '(("RET")) :post-handlers '("||\n[i]"))
(sp-local-pair "<?php" "?>" :when '(("RET")) :post-handlers '("||\n[i]")))
(use-package php-refactor-mode
:after php-mode
:init (add-hook! php-mode '(turn-on-eldoc-mode emr-initialize php-refactor-mode))
:config
(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))))
(use-package php-refactor-mode
:init (add-hook! php-mode '(turn-on-eldoc-mode emr-initialize php-refactor-mode))
:config
(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
:init (define-repl! php-mode php-boris)
:config (evil-set-initial-state 'php-boris-mode 'emacs))
(use-package php-boris :commands php-boris) ; PHP REPL
;;
(define-project-type! laravel "laravel"
(def-project-type! laravel "laravel"
:modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
:files ("artisan" "server.php"))