From 5caff846c445c176034e42aeadbbee8748ca2e13 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Wed, 31 Oct 2018 14:04:39 +0200 Subject: [PATCH 01/34] add support for generate_accessor rpc action Invoke action as if it was chosen from the context menu. Phpactor seems to have an issue with this rpc action invoked directly. As long as it's not fixed, this does the job. --- phpactor.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/phpactor.el b/phpactor.el index b8daf6a..db39365 100644 --- a/phpactor.el +++ b/phpactor.el @@ -688,5 +688,12 @@ function." (let ((file-info (phpactor-file-information))) (insert (plist-get file-info :class_namespace)))) +;;;###autoload +(defun phpactor-generate-accessors () + "Execute Phpactor PRC generate_accessor action." + (interactive) + (let ((arguments (phpactor--command-argments :current_path :offset :source))) + (apply #'phpactor-action-dispatch (phpactor--rpc "context_menu" (append arguments (list :action "generate_accessor")))))) + (provide 'phpactor) ;;; phpactor.el ends here From 9ca40db37071aea7aecca849eb3530ca7c11df6c Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 11 Nov 2018 10:51:39 +0200 Subject: [PATCH 02/34] remove cl-lib dependency from company-phpactor Thanks Steve Purcell use of pcase instead of cl-case --- company-phpactor.el | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/company-phpactor.el b/company-phpactor.el index 8a0271a..1e3bdaa 100644 --- a/company-phpactor.el +++ b/company-phpactor.el @@ -7,7 +7,7 @@ ;; Created: 18 Apr 2018 ;; Version: 0.1.0 ;; Keywords: tools, php -;; Package-Requires: ((emacs "24.3") (cl-lib "0.5") (company "0.9.6") (phpactor "0.1.0")) +;; Package-Requires: ((emacs "24.3") (company "0.9.6") (phpactor "0.1.0")) ;; URL: https://github.com/emacs-php/phpactor.el ;; License: GPL-3.0-or-later @@ -79,12 +79,12 @@ Here we create a temporary syntax table in order to add $ to symbols." (interactive (list 'interactive)) (save-restriction (widen) - (cl-case command - (post-completion (company-phpactor--post-completion arg)) - (annotation (company-phpactor--annotation arg)) - (interactive (company-begin-backend 'company-phpactor)) - (prefix (company-phpactor--grab-symbol)) - (candidates (all-completions arg (company-phpactor--get-candidates)))))) + (pcase command + (`post-completion (company-phpactor--post-completion arg)) + (`annotation (company-phpactor--annotation arg)) + (`interactive (company-begin-backend 'company-phpactor)) + (`prefix (company-phpactor--grab-symbol)) + (`candidates (all-completions arg (company-phpactor--get-candidates)))))) (provide 'company-phpactor) ;;; company-phpactor.el ends here From 8099cbda98c7f94e09ca88e41e249d4dba4fc887 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 28 Oct 2018 08:35:00 +0200 Subject: [PATCH 03/34] Documentation of phpactor's company backend setup --- README.org | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 4c38ebd..28610e0 100644 --- a/README.org +++ b/README.org @@ -11,8 +11,25 @@ This package is Emacs interface to [[http://phpactor.github.io/phpactor/][Phpact #+END_HTML ** Instalation +*Requirement*: You need to have composer globally installed. + +Installation with use-package : + +#+BEGIN_SRC emacs-lisp +(use-package phpactor :ensure t) +(use-package company-phpactor :ensure t) +(use-package php-mode + ;; + :hook ((php-mode . (lambda () (set (make-local-variable 'company-backends) + '(;; list of backends + company-phpactor + company-files + )))))) +#+END_SRC + After having installed this package, run `phpactor-update` (this will install a supported version of phpactor inside phpactor.el's installation folder). -*NOTICE*: To ensure the appropriate version of Phpactor is installed, please run this command after every upgrade of phpactor.el + +*NOTICE*: To ensure the supported version of Phpactor is installed, you might need to run this command again after an upgrade of this package. Alternatively, you can install Phpactor on your own and configure `phpactor-executable` but please be aware that any change in Phpactor's rpc protocol can introduce breakages. From 3a0781f4b3854c0109d5ff5dc30f7df0ed239be7 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 11 Nov 2018 17:10:34 +0200 Subject: [PATCH 04/34] Add a pair after completing with a function. --- company-phpactor.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/company-phpactor.el b/company-phpactor.el index 1e3bdaa..4ecefc8 100644 --- a/company-phpactor.el +++ b/company-phpactor.el @@ -67,7 +67,9 @@ Here we create a temporary syntax table in order to add $ to symbols." (defun company-phpactor--post-completion (arg) "Trigger auto-import of completed item ARG when relevant." (if (get-text-property 0 'class_import arg) - (phpactor-import-class (get-text-property 0 'class_import arg)))) + (phpactor-import-class (get-text-property 0 'class_import arg))) + (if (member (get-text-property 0 'type arg) '(list "method" "function")) + (let ((parens-require-spaces nil)) (insert-parentheses)))) (defun company-phpactor--annotation (arg) "Show additional info (ARG) from phpactor as lateral annotation." From b3e98f51828d698db44d543475c562d577c5ead5 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Sun, 6 Jan 2019 02:03:09 +0900 Subject: [PATCH 05/34] Add customize variable phpactor-package-directory --- phpactor.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/phpactor.el b/phpactor.el index db39365..2ce1e17 100644 --- a/phpactor.el +++ b/phpactor.el @@ -51,6 +51,21 @@ (require 'subr-x) (require 'composer) +;; Custom variables +;;;###autoload +(defgroup phpactor nil + "PHP refactoring and introspection" + :prefix "phpactor-" + :group 'tools + :group 'php) + +;;;###autoload +(defcustom phpactor-package-directory + (eval-when-compile + (expand-file-name (locate-user-emacs-file "phpactor/"))) + "Directory for setup Phactor." + :type 'directory) + ;; Variables ;;;###autoload (progn From 88c735e9ad7041d3a5c29e9d88a913fd9f25d370 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Sun, 6 Jan 2019 02:21:09 +0900 Subject: [PATCH 06/34] Require php-runtime package for PHP's copy() function --- phpactor.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/phpactor.el b/phpactor.el index 2ce1e17..ae51756 100644 --- a/phpactor.el +++ b/phpactor.el @@ -7,7 +7,7 @@ ;; Created: 8 Apr 2018 ;; Version: 0.1.0 ;; Keywords: tools, php -;; Package-Requires: ((emacs "24.4") (cl-lib "0.5") (f "0.17") (composer "0.1")) +;; Package-Requires: ((emacs "24.4") (cl-lib "0.5") (f "0.17") (php-runtime "0.2") (composer "0.1")) ;; URL: https://github.com/emacs-php/phpactor.el ;; License: GPL-3.0-or-later @@ -45,8 +45,10 @@ ;; go--apply-rcs-patch go--goto-line go--delete-whole-line ;;; Code: +(require 'cl-lib) (require 'json) (require 'php-project) +(require 'php-runtime) (require 'ring) (require 'subr-x) (require 'composer) From 4136409233af50f5282f22bb8d4819a71d0a3e4e Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Sun, 6 Jan 2019 02:22:51 +0900 Subject: [PATCH 07/34] Add constant phpactor--base-directory and prioritize it to locate-library --- phpactor.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/phpactor.el b/phpactor.el index ae51756..08f63a3 100644 --- a/phpactor.el +++ b/phpactor.el @@ -94,12 +94,19 @@ (defvar phpactor--buffer-name "*Phpactor*") +;;; Constants (defconst phpactor-command-name "phpactor") (defconst phpactor--supported-rpc-version "1.0.0") +(defconst phpactor--base-directory + (eval-when-compile + (when (and (boundp 'byte-compile-current-file) byte-compile-current-file) + (file-name-directory byte-compile-current-file)))) +(defconst phpactor--remote-composer-file-url-dir + "https://raw.githubusercontent.com/emacs-php/phpactor.el/master/") ;; Special variables (defvar phpactor--execute-async nil) - + ;; Utility functions (defun phpactor-find-executable () "Return Phpactor command or path to executable." @@ -121,7 +128,8 @@ (defun phpactor--get-package-directory () "Return the folder where phpactor.el is installed." - (file-name-directory(locate-library "phpactor.el"))) + (or phpactor-package-directory + (file-name-directory (locate-library "phpactor.el")))) (defun phpactor-get-working-dir () "Return working directory of Phpactor." From 45bf6cc201cfb65b196523039ec3c3ef8250c42d Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Sun, 6 Jan 2019 02:25:18 +0900 Subject: [PATCH 08/34] Rename and refactor phpactor-install-or-update Instead of the package's directory, copy the file to the user's .emacs.d directory and install it. --- phpactor.el | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/phpactor.el b/phpactor.el index 08f63a3..b8464b5 100644 --- a/phpactor.el +++ b/phpactor.el @@ -117,14 +117,23 @@ vendor-executable)) (error "Phpactor not found. Please run phpactor-update"))) -(defun phpactor-update () +;;;###autoload +(defun phpactor-install-or-update () "Install or update phpactor inside phpactor.el's folder." (interactive) - (let ((package-folder (phpactor--get-package-directory)) - (composer-executable (car (composer--find-executable)))) - (unless composer-executable (error "`composer' not found")) - (setq default-directory package-folder) - (call-process composer-executable nil (get-buffer-create phpactor--buffer-name) nil "install" "--no-dev"))) + (let* ((default-directory (phpactor--get-package-directory)) + (directory (or phpactor--base-directory + phpactor--remote-composer-file-url-dir))) + (unless (file-directory-p phpactor-package-directory) + (make-directory phpactor-package-directory)) + (cl-loop for file in '("composer.json" "composer.lock") + for code = (format "copy(%s, %s)" + (php-runtime-quote-string (concat directory file)) + (php-runtime-quote-string (concat phpactor-package-directory file))) + do (message code) + do (php-runtime-expr code)) + (composer nil "install" "--no-dev"))) +(defalias 'phpactor-update #'phpactor-install-or-update) (defun phpactor--get-package-directory () "Return the folder where phpactor.el is installed." From 72d25842d16a1d263b8474930e68980159909bdb Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 01:29:39 +0900 Subject: [PATCH 09/34] Modify doc comment to clarify intent --- phpactor.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpactor.el b/phpactor.el index b8464b5..fa2e687 100644 --- a/phpactor.el +++ b/phpactor.el @@ -65,7 +65,7 @@ (defcustom phpactor-package-directory (eval-when-compile (expand-file-name (locate-user-emacs-file "phpactor/"))) - "Directory for setup Phactor." + "Directory for setup Phactor. (default `~/.emacs.d/phpactor/')." :type 'directory) ;; Variables @@ -136,7 +136,7 @@ (defalias 'phpactor-update #'phpactor-install-or-update) (defun phpactor--get-package-directory () - "Return the folder where phpactor.el is installed." + "Return the folder where Phpactor is installed." (or phpactor-package-directory (file-name-directory (locate-library "phpactor.el")))) From 52bff67a999acebe9dc9f9696713fc4983538b55 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 01:31:53 +0900 Subject: [PATCH 10/34] Rename phpactor-package-directory to phpactor-install-directory The term "Package" is ambiguous for both Lisp package (ELPA) and PHP package (Composer). Here we used Composer to try to set up Phpactor in a different directory with package.el, which meant Composer package. --- phpactor.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/phpactor.el b/phpactor.el index fa2e687..6344c8f 100644 --- a/phpactor.el +++ b/phpactor.el @@ -62,7 +62,7 @@ :group 'php) ;;;###autoload -(defcustom phpactor-package-directory +(defcustom phpactor-install-directory (eval-when-compile (expand-file-name (locate-user-emacs-file "phpactor/"))) "Directory for setup Phactor. (default `~/.emacs.d/phpactor/')." @@ -124,12 +124,12 @@ (let* ((default-directory (phpactor--get-package-directory)) (directory (or phpactor--base-directory phpactor--remote-composer-file-url-dir))) - (unless (file-directory-p phpactor-package-directory) - (make-directory phpactor-package-directory)) + (unless (file-directory-p phpactor-install-directory) + (make-directory phpactor-install-directory)) (cl-loop for file in '("composer.json" "composer.lock") for code = (format "copy(%s, %s)" (php-runtime-quote-string (concat directory file)) - (php-runtime-quote-string (concat phpactor-package-directory file))) + (php-runtime-quote-string (concat phpactor-install-directory file))) do (message code) do (php-runtime-expr code)) (composer nil "install" "--no-dev"))) @@ -137,7 +137,7 @@ (defun phpactor--get-package-directory () "Return the folder where Phpactor is installed." - (or phpactor-package-directory + (or phpactor-install-directory (file-name-directory (locate-library "phpactor.el")))) (defun phpactor-get-working-dir () From 664815c4fc1ecfcbc65c69a8ea3449b38228f561 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 01:38:49 +0900 Subject: [PATCH 11/34] Expand phpactor--get-package-directory call to a variable Before the change, when phpactor-install-directory was NIL, it falls back to the directory of the Lisp package. However, there is no demand for that function, so we no longer have such an option. --- phpactor.el | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/phpactor.el b/phpactor.el index 6344c8f..d21b432 100644 --- a/phpactor.el +++ b/phpactor.el @@ -112,7 +112,7 @@ "Return Phpactor command or path to executable." (or (when phpactor-executable (php-project--eval-bootstrap-scripts phpactor-executable)) - (let ((vendor-executable (f-join (phpactor--get-package-directory) "vendor/bin/phpactor"))) + (let ((vendor-executable (f-join phpactor-install-directory "vendor/bin/phpactor"))) (when (file-exists-p vendor-executable) vendor-executable)) (error "Phpactor not found. Please run phpactor-update"))) @@ -121,7 +121,7 @@ (defun phpactor-install-or-update () "Install or update phpactor inside phpactor.el's folder." (interactive) - (let* ((default-directory (phpactor--get-package-directory)) + (let* ((default-directory phpactor-install-directory) (directory (or phpactor--base-directory phpactor--remote-composer-file-url-dir))) (unless (file-directory-p phpactor-install-directory) @@ -135,11 +135,6 @@ (composer nil "install" "--no-dev"))) (defalias 'phpactor-update #'phpactor-install-or-update) -(defun phpactor--get-package-directory () - "Return the folder where Phpactor is installed." - (or phpactor-install-directory - (file-name-directory (locate-library "phpactor.el")))) - (defun phpactor-get-working-dir () "Return working directory of Phpactor." (directory-file-name From 7694639d7e6581bef3af6bf5b41149b71435686f Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 02:13:11 +0900 Subject: [PATCH 12/34] Refactory phpactor--base-directory and modify doc comment --- phpactor.el | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/phpactor.el b/phpactor.el index d21b432..0bf2f63 100644 --- a/phpactor.el +++ b/phpactor.el @@ -98,11 +98,28 @@ (defconst phpactor-command-name "phpactor") (defconst phpactor--supported-rpc-version "1.0.0") (defconst phpactor--base-directory - (eval-when-compile - (when (and (boundp 'byte-compile-current-file) byte-compile-current-file) - (file-name-directory byte-compile-current-file)))) + (let ((byte-compiled-dir + (eval-when-compile + (when (and (boundp 'byte-compile-current-file) byte-compile-current-file) + byte-compile-current-file))) + lib-dir) + (if (and byte-compiled-dir (file-directory-p byte-compiled-dir)) + (file-name-directory byte-compiled-dir) + (setq lib-dir (locate-library "phpactor.el")) + (when (and lib-dir (file-directory-p lib-dir)) + (file-name-directory lib-dir)))) + "Path to phpactor.el installed directory. +Byte compilation information or `locate-library' function is referenced. + +NOTE: If you can not acquire either of them when you run Emacs, you will get +the necessary files from the Web.") + (defconst phpactor--remote-composer-file-url-dir - "https://raw.githubusercontent.com/emacs-php/phpactor.el/master/") + "https://raw.githubusercontent.com/emacs-php/phpactor.el/master/" + "Path of the URL for getting the files for Phpactor. +Please be aware that this files refers to the latest version regardless of +version. It is also affected by changes in the distribution URL structure +of GitHub.") ;; Special variables (defvar phpactor--execute-async nil) From 7372826c2d77064d8a63c6f283c176ae6e2fa5a9 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 02:13:55 +0900 Subject: [PATCH 13/34] Rename phpactor--lisp-directory and add strict check of file system The purpose of this change is to resolve the "package" ambiguity between Lisp and PHP. --- phpactor.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/phpactor.el b/phpactor.el index 0bf2f63..e75e650 100644 --- a/phpactor.el +++ b/phpactor.el @@ -97,7 +97,7 @@ ;;; Constants (defconst phpactor-command-name "phpactor") (defconst phpactor--supported-rpc-version "1.0.0") -(defconst phpactor--base-directory +(defconst phpactor--lisp-directory (let ((byte-compiled-dir (eval-when-compile (when (and (boundp 'byte-compile-current-file) byte-compile-current-file) @@ -139,8 +139,12 @@ of GitHub.") "Install or update phpactor inside phpactor.el's folder." (interactive) (let* ((default-directory phpactor-install-directory) - (directory (or phpactor--base-directory - phpactor--remote-composer-file-url-dir))) + (directory (if (and phpactor--lisp-directory + (file-directory-p phpactor--lisp-directory) + (file-exists-p (expand-file-name "composer.json" phpactor--lisp-directory)) + (file-exists-p (expand-file-name "composer.lock" phpactor--lisp-directory))) + phpactor--lisp-directory + phpactor--remote-composer-file-url-dir))) (unless (file-directory-p phpactor-install-directory) (make-directory phpactor-install-directory)) (cl-loop for file in '("composer.json" "composer.lock") From d96a722fa11087f4e63d5792b6f3aa614b1c39b4 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 02:36:15 +0900 Subject: [PATCH 14/34] Add comment about reason not to use f-join --- phpactor.el | 1 + 1 file changed, 1 insertion(+) diff --git a/phpactor.el b/phpactor.el index e75e650..7682c20 100644 --- a/phpactor.el +++ b/phpactor.el @@ -149,6 +149,7 @@ of GitHub.") (make-directory phpactor-install-directory)) (cl-loop for file in '("composer.json" "composer.lock") for code = (format "copy(%s, %s)" + ;; Do not use `f-join' as this string may be a URL. (php-runtime-quote-string (concat directory file)) (php-runtime-quote-string (concat phpactor-install-directory file))) do (message code) From 4f84002fbe3802f7e93a186aaa4fc50fe9c95a31 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 20 Jan 2019 15:10:35 +0200 Subject: [PATCH 15/34] removal of redundant or unused code --- phpactor.el | 1 - 1 file changed, 1 deletion(-) diff --git a/phpactor.el b/phpactor.el index 7682c20..051c249 100644 --- a/phpactor.el +++ b/phpactor.el @@ -152,7 +152,6 @@ of GitHub.") ;; Do not use `f-join' as this string may be a URL. (php-runtime-quote-string (concat directory file)) (php-runtime-quote-string (concat phpactor-install-directory file))) - do (message code) do (php-runtime-expr code)) (composer nil "install" "--no-dev"))) (defalias 'phpactor-update #'phpactor-install-or-update) From 2c5f79b121eae6286530e3ed93f0b313fad5b9d8 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Wed, 6 Feb 2019 02:52:37 +0900 Subject: [PATCH 16/34] Create .gitignore to prevent unnecessary files from being copied --- phpactor.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/phpactor.el b/phpactor.el index 051c249..7338065 100644 --- a/phpactor.el +++ b/phpactor.el @@ -147,6 +147,9 @@ of GitHub.") phpactor--remote-composer-file-url-dir))) (unless (file-directory-p phpactor-install-directory) (make-directory phpactor-install-directory)) + ;; Create .gitignore to prevent unnecessary files from being copied to GitHub + (unless (file-exists-p (expand-file-name ".gitignore" phpactor-install-directory)) + (f-write-text "*\n" 'utf-8 (expand-file-name ".gitignore" phpactor-install-directory))) (cl-loop for file in '("composer.json" "composer.lock") for code = (format "copy(%s, %s)" ;; Do not use `f-join' as this string may be a URL. From 7e599c27ce05ebf47c7eb353f3df363dcf6d7f5f Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sat, 23 Feb 2019 09:59:09 +0200 Subject: [PATCH 17/34] add support for add_missing_assignments transform --- phpactor.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/phpactor.el b/phpactor.el index 7338065..f26decd 100644 --- a/phpactor.el +++ b/phpactor.el @@ -748,5 +748,12 @@ function." (let ((arguments (phpactor--command-argments :current_path :offset :source))) (apply #'phpactor-action-dispatch (phpactor--rpc "context_menu" (append arguments (list :action "generate_accessor")))))) +;;;###autoload +(defun phpactor-add-missing-assignments () + "Execute Phpactor PRC add_missing_assignments action." + (interactive) + (let ((arguments (phpactor--command-argments :source :path))) + (apply #'phpactor-action-dispatch (phpactor--rpc "transform" (append arguments (list :transform "add_missing_properties")))))) + (provide 'phpactor) ;;; phpactor.el ends here From 4604deab398ec1d04c57f3cdce7fc4a96ebb6f2b Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Fri, 22 Feb 2019 10:09:40 +0200 Subject: [PATCH 18/34] buttercup first tests with linked changes in phactor.el add travis conf in order to run buttercup tests test phpactor installation test phpactor-get-working-dir (remove unused phpactor-working-dir variable) test phpactor--lisp-directory and add a fix for it --- .travis.yml | 38 ++++++++++++++++++++++++++++++++++ Cask | 3 ++- phpactor.el | 18 +++++----------- tests/e2e/test-sanity.el | 44 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 .travis.yml create mode 100644 tests/e2e/test-sanity.el diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..28455d1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,38 @@ +# matrix: +# include: +# - language: emacs-lisp +# sudo: no +# env: +# - EVM_EMACS=emacs-25.1-travis +# before_install: +# - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > travis.sh && source ./travis.sh +# - evm install "$EVM_EMACS" --use --skip +# install: +# - cask --debug --verbose +# script: +# - cask exec buttercup -L . -p phpactor-install-or-update +# - cd ~/.emacs.d/phpactor && composer install --no-dev +# - cd - + +# - language: php +# php: +# - 7.2 +# script: +# - cd ~/.emacs.d/phpactor && composer install --no-dev + +language: php +php: + - 7.1 +sudo: no +env: + - EVM_EMACS=emacs-25.1-travis +before_install: + - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > travis.sh && source ./travis.sh + - evm install "$EVM_EMACS" --use --skip +install: + - cask --debug --verbose +script: + - cask exec buttercup -L . + # - cask exec buttercup -L . -p phpactor-install-or-update # running only this test prepares ./emacs.d/phpactor folder + # - cd ~/.emacs.d/phpactor && composer install --no-dev + # - cd - && cask exec buttercup -L . diff --git a/Cask b/Cask index c681d79..47579e8 100644 --- a/Cask +++ b/Cask @@ -1,9 +1,10 @@ (package "phpactor" "0.1.0" "Interface to Phpactor") (source melpa) +(source gnu) (package-file "phpactor.el") (package-file "company-phpactor.el") (development (depends-on "php-mode") - (depends-on "auto-complete")) + (depends-on "buttercup")) diff --git a/phpactor.el b/phpactor.el index 7338065..ca345cd 100644 --- a/phpactor.el +++ b/phpactor.el @@ -78,15 +78,6 @@ #'(lambda (v) (if (consp v) (and (eq 'root (car v)) (stringp (cdr v))) (or (null v) (stringp v)))))) -;;;###autoload -(progn - (defvar phpactor-working-dir nil - "Path to working directory for Phpactor.") - (make-variable-buffer-local 'phpactor-working-dir) - (put 'phpactor-executable 'safe-local-variable - #'(lambda (v) (if (consp v) - (and (eq 'root (car v)) (stringp (cdr v))) - (or (null v) (stringp v)))))) (defvar phpactor--debug nil) (defvar phpactor-history-size 100) @@ -105,7 +96,7 @@ lib-dir) (if (and byte-compiled-dir (file-directory-p byte-compiled-dir)) (file-name-directory byte-compiled-dir) - (setq lib-dir (locate-library "phpactor.el")) + (setq lib-dir (file-name-directory (locate-library "phpactor.el"))) (when (and lib-dir (file-directory-p lib-dir)) (file-name-directory lib-dir)))) "Path to phpactor.el installed directory. @@ -156,14 +147,15 @@ of GitHub.") (php-runtime-quote-string (concat directory file)) (php-runtime-quote-string (concat phpactor-install-directory file))) do (php-runtime-expr code)) - (composer nil "install" "--no-dev"))) + (composer nil "install" "--no-dev") + ;; (call-process "composer" nil t nil "install" "--no-dev") + )) (defalias 'phpactor-update #'phpactor-install-or-update) (defun phpactor-get-working-dir () "Return working directory of Phpactor." (directory-file-name - (expand-file-name - (or phpactor-working-dir (php-project-get-root-dir))))) + (expand-file-name (php-project-get-root-dir)))) (defun phpactor--expand-local-file-name (name) "Expand file name by `NAME'." diff --git a/tests/e2e/test-sanity.el b/tests/e2e/test-sanity.el new file mode 100644 index 0000000..9c8f34f --- /dev/null +++ b/tests/e2e/test-sanity.el @@ -0,0 +1,44 @@ +(require 'phpactor) + +(defun buffer-string* (buffer) + (with-current-buffer buffer + (buffer-substring-no-properties (point-min) (point-max) ))) + +(describe "var: `phpactor-history-size'" + (it "should have default value" + (expect phpactor-history-size :to-be 100) + )) + +(describe "var: `phpactor-install-directory'" + (it "should have some value" + (display-warning 'buttercup (format "phpactor install folder is : %s" phpactor-install-directory)) + (expect phpactor-install-directory :not :to-be nil) + )) + +(describe ": `phpactor--lisp-directory'" ;; I prefer having a test as I'm not that really fine with it being nil + (it "should have some value" + (display-warning 'buttercup (format "phpactor lisp folder is : %s" phpactor--lisp-directory)) + (expect phpactor--lisp-directory :not :to-be nil) +)) + +(describe "defun: `phpactor-install-or-update'" + (it "should find phpactor installed under phpactor-install-directory :" + (let ((timeout-duration 300)) + (phpactor-install-or-update) + (with-timeout + (timeout-duration (display-warning 'buttercup (format "Error : timeout waiting %s seconds for composer install to finish" timeout-duration))) + (while (not (file-exists-p (f-join phpactor-install-directory "vendor/bin/phpactor"))) + (sleep-for 1))) + (expect (phpactor-find-executable) :to-equal (f-join phpactor-install-directory "vendor/bin/phpactor")) + ))) + +(describe "defun: `phpactor-get-working-dir'" + (it "should rely on php-project" + (spy-on 'php-project-get-root-dir :and-call-through) + ;; (display-warning 'buttercup (format "phpactor-working-dir is : %s" phpactor-working-dir)) + (with-current-buffer (find-file "tests/src/Book.php") + ;; (message "phpactor-working-dir is : %s" (php-project-get-root-dir)) + (phpactor-get-working-dir) + (expect 'php-project-get-root-dir :to-have-been-called) + ) + )) From 307b28e78d8a782a51929fddece83df7774747fc Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 3 Mar 2019 18:37:22 +0200 Subject: [PATCH 19/34] upgrade to phpactor 0.12.0 --- composer.json | 2 +- composer.lock | 1627 ++++++++++++++++++++----------------------------- 2 files changed, 659 insertions(+), 970 deletions(-) diff --git a/composer.json b/composer.json index 22a95c2..c406c4e 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "psr-4": {"EmacsPHP\\Phpactor\\Sample\\": "tests/src/"} }, "require": { - "phpactor/phpactor": "^0.11.1" + "phpactor/phpactor": "^0.12.0" }, "config": { "optimize-autoloader": true, diff --git a/composer.lock b/composer.lock index f6244ea..1473855 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "752eb18fac6f7f304e5b8e0509852946", + "content-hash": "65ad5b93ab981ced237cc3ea74fb45ce", "packages": [ { "name": "composer/ca-bundle", @@ -12,12 +12,12 @@ "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "45501c64f5d1b6a9c53c9a9def19e141bcbf2260" + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/45501c64f5d1b6a9c53c9a9def19e141bcbf2260", - "reference": "45501c64f5d1b6a9c53c9a9def19e141bcbf2260", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", "shasum": "" }, "require": { @@ -60,7 +60,7 @@ "ssl", "tls" ], - "time": "2018-10-31T14:14:03+00:00" + "time": "2019-01-28T09:30:10+00:00" }, { "name": "composer/composer", @@ -68,12 +68,12 @@ "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "ebde0bab7e14aa838f36f51bff7a04719fe9bc39" + "reference": "ba1e5c213c2932093ee3d8aa3ee1591ffa35e877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/ebde0bab7e14aa838f36f51bff7a04719fe9bc39", - "reference": "ebde0bab7e14aa838f36f51bff7a04719fe9bc39", + "url": "https://api.github.com/repos/composer/composer/zipball/ba1e5c213c2932093ee3d8aa3ee1591ffa35e877", + "reference": "ba1e5c213c2932093ee3d8aa3ee1591ffa35e877", "shasum": "" }, "require": { @@ -140,7 +140,7 @@ "dependency", "package" ], - "time": "2018-12-21T10:58:52+00:00" + "time": "2019-02-27T14:07:33+00:00" }, { "name": "composer/semver", @@ -148,12 +148,12 @@ "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "2b303e43d14d15cc90c8e8db4a1cdb6259f1a5c5" + "reference": "e97856ee51b93ba42666de1f1d481d142ec62220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/2b303e43d14d15cc90c8e8db4a1cdb6259f1a5c5", - "reference": "2b303e43d14d15cc90c8e8db4a1cdb6259f1a5c5", + "url": "https://api.github.com/repos/composer/semver/zipball/e97856ee51b93ba42666de1f1d481d142ec62220", + "reference": "e97856ee51b93ba42666de1f1d481d142ec62220", "shasum": "" }, "require": { @@ -202,7 +202,7 @@ "validation", "versioning" ], - "time": "2017-11-06T09:05:54+00:00" + "time": "2019-01-30T14:33:02+00:00" }, { "name": "composer/spdx-licenses", @@ -210,12 +210,12 @@ "source": { "type": "git", "url": "https://github.com/composer/spdx-licenses.git", - "reference": "a9860f92852935add41fc125f21295c7d8284843" + "reference": "5781a46078ca46330d05f46f90c42eaacba85749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/a9860f92852935add41fc125f21295c7d8284843", - "reference": "a9860f92852935add41fc125f21295c7d8284843", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/5781a46078ca46330d05f46f90c42eaacba85749", + "reference": "5781a46078ca46330d05f46f90c42eaacba85749", "shasum": "" }, "require": { @@ -263,20 +263,20 @@ "spdx", "validator" ], - "time": "2018-12-21T12:08:54+00:00" + "time": "2018-12-26T21:53:59+00:00" }, { "name": "composer/xdebug-handler", - "version": "1.3.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "dc523135366eb68f22268d069ea7749486458562" + "reference": "d17708133b6c276d6e42ef887a877866b909d892" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/dc523135366eb68f22268d069ea7749486458562", - "reference": "dc523135366eb68f22268d069ea7749486458562", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/d17708133b6c276d6e42ef887a877866b909d892", + "reference": "d17708133b6c276d6e42ef887a877866b909d892", "shasum": "" }, "require": { @@ -307,49 +307,7 @@ "Xdebug", "performance" ], - "time": "2018-11-29T10:59:02+00:00" - }, - { - "name": "dantleech/argument-resolver", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://gitlab.com/dantleech/argument-resolver.git", - "reference": "a3bb13ed9cff37ae46638924f02b6159250c3726" - }, - "dist": { - "type": "zip", - "url": "https://gitlab.com/api/v4/projects/dantleech%2Fargument-resolver/repository/archive.zip?sha=a3bb13ed9cff37ae46638924f02b6159250c3726", - "reference": "a3bb13ed9cff37ae46638924f02b6159250c3726", - "shasum": "" - }, - "require-dev": { - "phpstan/phpstan": "^0.10.1", - "phpunit/phpunit": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "DTL\\ArgumentResolver\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Leech", - "email": "daniel@dantleech.com" - } - ], - "description": "Resolve method arguments from an associative array", - "time": "2018-09-30T09:50:30+00:00" + "time": "2019-01-28T20:25:53+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -384,289 +342,18 @@ "description": "implementation of xdg base directory specification for php", "time": "2014-10-24T07:27:01+00:00" }, - { - "name": "doctrine/annotations", - "version": "1.7.x-dev", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "232c5da3903f788e02328b4e8486eceea0c76e58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/232c5da3903f788e02328b4e8486eceea0c76e58", - "reference": "232c5da3903f788e02328b4e8486eceea0c76e58", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "php": "^7.1" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2018-05-06T10:14:50+00:00" - }, - { - "name": "doctrine/lexer", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "4ab6ea7c838ccb340883fd78915af079949cc64d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/4ab6ea7c838ccb340883fd78915af079949cc64d", - "reference": "4ab6ea7c838ccb340883fd78915af079949cc64d", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "^4.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "time": "2018-10-21T19:22:05+00:00" - }, - { - "name": "felixfbecker/language-server-protocol", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "1bdd1bcc95428edf85ec04c7b558d0886c07280f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/1bdd1bcc95428edf85ec04c7b558d0886c07280f", - "reference": "1bdd1bcc95428edf85ec04c7b558d0886c07280f", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpstan/phpstan": "*", - "phpunit/phpunit": "^6.3", - "squizlabs/php_codesniffer": "^3.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "LanguageServerProtocol\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Felix Becker", - "email": "felix.b@outlook.com" - } - ], - "description": "PHP classes for the Language Server Protocol", - "keywords": [ - "language", - "microsoft", - "php", - "server" - ], - "time": "2018-09-25T11:42:25+00:00" - }, - { - "name": "friendsofphp/php-cs-fixer", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "b352faf6870c1cdf773e518a42881c1bdfc10e86" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/b352faf6870c1cdf773e518a42881c1bdfc10e86", - "reference": "b352faf6870c1cdf773e518a42881c1bdfc10e86", - "shasum": "" - }, - "require": { - "composer/semver": "^1.4", - "composer/xdebug-handler": "^1.2", - "doctrine/annotations": "^1.2", - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^5.6 || >=7.0 <7.3", - "php-cs-fixer/diff": "^1.3", - "symfony/console": "^3.4.17 || ^4.1.6", - "symfony/event-dispatcher": "^3.0 || ^4.0", - "symfony/filesystem": "^3.0 || ^4.0", - "symfony/finder": "^3.0 || ^4.0", - "symfony/options-resolver": "^3.0 || ^4.0", - "symfony/polyfill-php70": "^1.0", - "symfony/polyfill-php72": "^1.4", - "symfony/process": "^3.0 || ^4.0", - "symfony/stopwatch": "^3.0 || ^4.0" - }, - "conflict": { - "hhvm": "*" - }, - "require-dev": { - "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", - "justinrainbow/json-schema": "^5.0", - "keradus/cli-executor": "^1.1", - "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.1", - "php-cs-fixer/accessible-object": "^1.0", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.0.1", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.0.1", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", - "phpunitgoodpractices/traits": "^1.5.1", - "symfony/phpunit-bridge": "^4.0" - }, - "suggest": { - "ext-mbstring": "For handling non-UTF8 characters in cache signature.", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", - "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "extra": { - "branch-alias": { - "dev-master": "2.14-dev" - } - }, - "autoload": { - "psr-4": { - "PhpCsFixer\\": "src/" - }, - "classmap": [ - "tests/Test/AbstractFixerTestCase.php", - "tests/Test/AbstractIntegrationCaseFactory.php", - "tests/Test/AbstractIntegrationTestCase.php", - "tests/Test/Assert/AssertTokensTrait.php", - "tests/Test/IntegrationCase.php", - "tests/Test/IntegrationCaseFactory.php", - "tests/Test/IntegrationCaseFactoryInterface.php", - "tests/Test/InternalIntegrationCaseFactory.php", - "tests/TestCase.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dariusz RumiƄski", - "email": "dariusz.ruminski@gmail.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "time": "2018-12-03T16:34:14+00:00" - }, { "name": "jetbrains/phpstorm-stubs", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/JetBrains/phpstorm-stubs.git", - "reference": "0a22f47219d7cf27f2ad743edd21c83f34b81ae3" + "reference": "9e6540f9200bb3e9b1d091ab7bde1b735aa27427" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/0a22f47219d7cf27f2ad743edd21c83f34b81ae3", - "reference": "0a22f47219d7cf27f2ad743edd21c83f34b81ae3", + "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/9e6540f9200bb3e9b1d091ab7bde1b735aa27427", + "reference": "9e6540f9200bb3e9b1d091ab7bde1b735aa27427", "shasum": "" }, "require-dev": { @@ -692,7 +379,7 @@ "stubs", "type" ], - "time": "2018-12-21T13:31:10+00:00" + "time": "2019-02-28T12:27:25+00:00" }, { "name": "justinrainbow/json-schema", @@ -700,19 +387,19 @@ "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "8560d4314577199ba51bf2032f02cd1315587c23" + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", - "reference": "8560d4314577199ba51bf2032f02cd1315587c23", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.1", + "friendsofphp/php-cs-fixer": "~2.2.20", "json-schema/json-schema-test-suite": "1.2.0", "phpunit/phpunit": "^4.8.35" }, @@ -758,20 +445,20 @@ "json", "schema" ], - "time": "2018-02-14T22:26:30+00:00" + "time": "2019-01-14T23:55:14+00:00" }, { "name": "microsoft/tolerant-php-parser", - "version": "v0.0.15", + "version": "v0.0.16", "source": { "type": "git", "url": "https://github.com/Microsoft/tolerant-php-parser.git", - "reference": "54a84f1250dcde5641e86b5e966fec5f0e201f71" + "reference": "b662587eb797685a98239d1d52d25168a03fdfb2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Microsoft/tolerant-php-parser/zipball/54a84f1250dcde5641e86b5e966fec5f0e201f71", - "reference": "54a84f1250dcde5641e86b5e966fec5f0e201f71", + "url": "https://api.github.com/repos/Microsoft/tolerant-php-parser/zipball/b662587eb797685a98239d1d52d25168a03fdfb2", + "reference": "b662587eb797685a98239d1d52d25168a03fdfb2", "shasum": "" }, "require": { @@ -799,7 +486,7 @@ } ], "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios", - "time": "2018-09-26T05:43:26+00:00" + "time": "2018-12-29T00:31:32+00:00" }, { "name": "monolog/monolog", @@ -807,12 +494,12 @@ "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "68f536105f1e4fe439ccabac105bb1c90dee8b92" + "reference": "4d5b7e6ba1127789c7ff59d6f762298eaa29787f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/68f536105f1e4fe439ccabac105bb1c90dee8b92", - "reference": "68f536105f1e4fe439ccabac105bb1c90dee8b92", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4d5b7e6ba1127789c7ff59d6f762298eaa29787f", + "reference": "4d5b7e6ba1127789c7ff59d6f762298eaa29787f", "shasum": "" }, "require": { @@ -877,20 +564,20 @@ "logging", "psr-3" ], - "time": "2018-12-11T10:11:11+00:00" + "time": "2018-12-26T14:24:03+00:00" }, { "name": "ocramius/package-versions", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f" + "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", + "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", "shasum": "" }, "require": { @@ -899,6 +586,7 @@ }, "require-dev": { "composer/composer": "^1.6.3", + "doctrine/coding-standard": "^5.0.1", "ext-zip": "*", "infection/infection": "^0.7.1", "phpunit/phpunit": "^7.0.0" @@ -926,100 +614,7 @@ } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "time": "2018-02-05T13:05:30+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.99.x-dev", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "0947f25b883d4172df340a0d95f1b7cdabc5368a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0947f25b883d4172df340a0d95f1b7cdabc5368a", - "reference": "0947f25b883d4172df340a0d95f1b7cdabc5368a", - "shasum": "" - }, - "require": { - "php": "^7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2018-08-07T13:07:48+00:00" - }, - { - "name": "php-cs-fixer/diff", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/diff.git", - "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756", - "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.23 || ^6.4.3", - "symfony/process": "^3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "SpacePossum" - } - ], - "description": "sebastian/diff v2 backport support for PHP5.6", - "homepage": "https://github.com/PHP-CS-Fixer", - "keywords": [ - "diff" - ], - "time": "2018-02-15T16:58:55+00:00" + "time": "2019-02-21T12:16:21+00:00" }, { "name": "phpactor/class-mover", @@ -1027,21 +622,22 @@ "source": { "type": "git", "url": "https://github.com/phpactor/class-mover.git", - "reference": "edf888991aa5cc0bf85d243746bf914ab9ae514b" + "reference": "8c87bd29d2b4ddbf3239dbabe6d42883d1e61fff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/class-mover/zipball/edf888991aa5cc0bf85d243746bf914ab9ae514b", - "reference": "edf888991aa5cc0bf85d243746bf914ab9ae514b", + "url": "https://api.github.com/repos/phpactor/class-mover/zipball/8c87bd29d2b4ddbf3239dbabe6d42883d1e61fff", + "reference": "8c87bd29d2b4ddbf3239dbabe6d42883d1e61fff", "shasum": "" }, "require": { "microsoft/tolerant-php-parser": "@dev", + "php": "^7.1", "psr/log": "^1.0@dev", "symfony/filesystem": "^2.7|^3.0" }, "require-dev": { - "phpactor/worse-reflection": "^1.0@dev", + "phpactor/worse-reflection": "~0.1", "phpstan/phpstan": "^0.8.1", "phpunit/phpunit": "^6.2", "symfony/console": "^3.0" @@ -1068,7 +664,7 @@ } ], "description": "Library for moving classes", - "time": "2018-11-24T15:37:08+00:00" + "time": "2019-01-06T11:48:33+00:00" }, { "name": "phpactor/class-to-file", @@ -1076,12 +672,12 @@ "source": { "type": "git", "url": "https://github.com/phpactor/class-to-file.git", - "reference": "66b5d3897b7a44690de428117965223d0a2fad6e" + "reference": "524af90cef3ba6e30f07994ea8c0a89ab48b39e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/class-to-file/zipball/66b5d3897b7a44690de428117965223d0a2fad6e", - "reference": "66b5d3897b7a44690de428117965223d0a2fad6e", + "url": "https://api.github.com/repos/phpactor/class-to-file/zipball/524af90cef3ba6e30f07994ea8c0a89ab48b39e4", + "reference": "524af90cef3ba6e30f07994ea8c0a89ab48b39e4", "shasum": "" }, "require": { @@ -1095,7 +691,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.3.x-dev" } }, "autoload": { @@ -1114,24 +710,24 @@ } ], "description": "Library to covert class names to file paths and vice-versa", - "time": "2018-12-19T13:35:39+00:00" + "time": "2019-01-17T07:26:00+00:00" }, { "name": "phpactor/class-to-file-extension", - "version": "dev-master", + "version": "0.2.0", "source": { "type": "git", "url": "https://github.com/phpactor/class-to-file-extension.git", - "reference": "61007ff91ae8634f618cc37d3f601e37d22aeafa" + "reference": "5f16157f5258c25cccd6de64ddcadc4c43e543dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/class-to-file-extension/zipball/61007ff91ae8634f618cc37d3f601e37d22aeafa", - "reference": "61007ff91ae8634f618cc37d3f601e37d22aeafa", + "url": "https://api.github.com/repos/phpactor/class-to-file-extension/zipball/5f16157f5258c25cccd6de64ddcadc4c43e543dd", + "reference": "5f16157f5258c25cccd6de64ddcadc4c43e543dd", "shasum": "" }, "require": { - "phpactor/class-to-file": "dev-master", + "phpactor/class-to-file": "~0.1", "phpactor/composer-autoloader-extension": "~0.1", "phpactor/container": "^1.0" }, @@ -1144,7 +740,7 @@ "extra": { "phpactor.extension_class": "Phpactor\\Extension\\ClassToFile\\ClassToFileExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.3.x-dev" } }, "autoload": { @@ -1163,7 +759,7 @@ } ], "description": "Converts classes to files and vice-versa", - "time": "2018-11-24T15:37:18+00:00" + "time": "2019-03-03T11:42:23+00:00" }, { "name": "phpactor/code-builder", @@ -1171,27 +767,28 @@ "source": { "type": "git", "url": "https://github.com/phpactor/code-builder.git", - "reference": "8ccf55ed6c09d0e72d455bfa483ac5b53d2e1a3d" + "reference": "1859c4fa8b673565c1f9bf3028dc06221f35a9a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/code-builder/zipball/8ccf55ed6c09d0e72d455bfa483ac5b53d2e1a3d", - "reference": "8ccf55ed6c09d0e72d455bfa483ac5b53d2e1a3d", + "url": "https://api.github.com/repos/phpactor/code-builder/zipball/1859c4fa8b673565c1f9bf3028dc06221f35a9a8", + "reference": "1859c4fa8b673565c1f9bf3028dc06221f35a9a8", "shasum": "" }, "require": { - "microsoft/tolerant-php-parser": "@dev", + "microsoft/tolerant-php-parser": "~0.0.1", + "phpactor/text-document": "^1.0", + "phpactor/worse-reflection": "~0.2", "twig/twig": "^2.4" }, "require-dev": { - "phpactor/test-utils": "^1.0@dev", - "phpactor/worse-reflection": "^1.0@dev", + "phpactor/test-utils": "^1.0", "phpunit/phpunit": "^6.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.2.x-dev" + "dev-master": "0.3.x-dev" } }, "autoload": { @@ -1210,7 +807,7 @@ } ], "description": "Generating and modifying source code", - "time": "2018-11-24T15:37:22+00:00" + "time": "2019-03-03T12:16:50+00:00" }, { "name": "phpactor/code-transform", @@ -1218,18 +815,18 @@ "source": { "type": "git", "url": "https://github.com/phpactor/code-transform.git", - "reference": "8b3e155241e7af93a45cbf946a0e61c23929f12d" + "reference": "c75b56e12cbc56a9d0cd0b8c172a8dd6020e78ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/code-transform/zipball/8b3e155241e7af93a45cbf946a0e61c23929f12d", - "reference": "8b3e155241e7af93a45cbf946a0e61c23929f12d", + "url": "https://api.github.com/repos/phpactor/code-transform/zipball/c75b56e12cbc56a9d0cd0b8c172a8dd6020e78ad", + "reference": "c75b56e12cbc56a9d0cd0b8c172a8dd6020e78ad", "shasum": "" }, "require": { - "phpactor/class-to-file": "dev-master", - "phpactor/code-builder": "dev-master", - "webmozart/path-util": "^2.3@dev" + "phpactor/class-to-file": "~0.3", + "phpactor/code-builder": "~0.2", + "webmozart/path-util": "~2.3" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", @@ -1260,7 +857,58 @@ } ], "description": "Applies introspective transformations on source code", - "time": "2018-11-27T08:10:19+00:00" + "time": "2019-02-03T19:02:29+00:00" + }, + { + "name": "phpactor/code-transform-extension", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/code-transform-extension.git", + "reference": "22396c1067ce22e7eb6be92e868df27df820140a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/code-transform-extension/zipball/22396c1067ce22e7eb6be92e868df27df820140a", + "reference": "22396c1067ce22e7eb6be92e868df27df820140a", + "shasum": "" + }, + "require": { + "phpactor/class-to-file-extension": "~0.1", + "phpactor/code-transform": "~0.1", + "phpactor/container": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", + "phpactor/rpc-extension": "^0.1.0@dev", + "phpactor/test-utils": "^1.0@dev", + "phpstan/phpstan": "^0.10.5", + "phpunit/phpunit": "^7.4" + }, + "type": "phpactor-extension", + "extra": { + "phpactor.extension_class": "Phpactor\\Extension\\CodeTransform\\CodeTransformExtension", + "branch-alias": { + "dev-master": "0.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Phpactor\\Extension\\CodeTransform\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Code transform base package", + "time": "2019-01-27T10:33:16+00:00" }, { "name": "phpactor/completion", @@ -1268,18 +916,20 @@ "source": { "type": "git", "url": "https://github.com/phpactor/completion.git", - "reference": "0ccce0b9b1ed050a465e769922ef7d4bd6aeafda" + "reference": "24231f92deae02f83a0f163d08cb78885f02e82b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/completion/zipball/0ccce0b9b1ed050a465e769922ef7d4bd6aeafda", - "reference": "0ccce0b9b1ed050a465e769922ef7d4bd6aeafda", + "url": "https://api.github.com/repos/phpactor/completion/zipball/24231f92deae02f83a0f163d08cb78885f02e82b", + "reference": "24231f92deae02f83a0f163d08cb78885f02e82b", "shasum": "" }, "require": { + "php": "^7.1", "phpactor/class-to-file": "dev-master", "phpactor/source-code-filesystem": "dev-master", - "phpactor/worse-reflection": "dev-master" + "phpactor/text-document": "^1.0@dev", + "phpactor/worse-reflection": "~0.2" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", @@ -1291,7 +941,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { @@ -1310,7 +960,7 @@ } ], "description": "Completion library for Worse Reflection", - "time": "2018-12-22T05:38:01+00:00" + "time": "2019-01-12T21:27:14+00:00" }, { "name": "phpactor/completion-extension", @@ -1318,17 +968,18 @@ "source": { "type": "git", "url": "https://github.com/phpactor/completion-extension.git", - "reference": "23fc8266656b8ca193f4adb110ef953aa50f6719" + "reference": "bdd9ef76813acf4ae6a81bc2f1d55b4e04c33020" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/completion-extension/zipball/23fc8266656b8ca193f4adb110ef953aa50f6719", - "reference": "23fc8266656b8ca193f4adb110ef953aa50f6719", + "url": "https://api.github.com/repos/phpactor/completion-extension/zipball/bdd9ef76813acf4ae6a81bc2f1d55b4e04c33020", + "reference": "bdd9ef76813acf4ae6a81bc2f1d55b4e04c33020", "shasum": "" }, "require": { - "phpactor/completion": "~0.1", - "phpactor/container": "^1.0" + "phpactor/completion": "~0.2", + "phpactor/container": "^1.0", + "phpactor/logging-extension": "~0.1" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", @@ -1339,7 +990,7 @@ "extra": { "phpactor.extension_class": "Phpactor\\Extension\\Completion\\CompletionExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { @@ -1358,7 +1009,7 @@ } ], "description": "Phpactor Code Completion Extension", - "time": "2018-11-24T15:37:36+00:00" + "time": "2019-01-12T16:49:41+00:00" }, { "name": "phpactor/completion-rpc-extension", @@ -1366,16 +1017,16 @@ "source": { "type": "git", "url": "https://github.com/phpactor/completion-rpc-extension.git", - "reference": "b4d62fc175ff2b9bc612759d70531c1a7d4bd42e" + "reference": "0968cd63d4408905e4a4df646986de5a6822343e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/completion-rpc-extension/zipball/b4d62fc175ff2b9bc612759d70531c1a7d4bd42e", - "reference": "b4d62fc175ff2b9bc612759d70531c1a7d4bd42e", + "url": "https://api.github.com/repos/phpactor/completion-rpc-extension/zipball/0968cd63d4408905e4a4df646986de5a6822343e", + "reference": "0968cd63d4408905e4a4df646986de5a6822343e", "shasum": "" }, "require": { - "phpactor/completion-extension": "~0.1", + "phpactor/completion-extension": "~0.2", "phpactor/rpc-extension": "~0.1" }, "require-dev": { @@ -1388,7 +1039,7 @@ "extra": { "phpactor.extension_class": "Phpactor\\Extension\\CompletionRpc\\CompletionRpcExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { @@ -1407,26 +1058,26 @@ } ], "description": "RPC support for the Completion Extension", - "time": "2018-12-01T16:34:39+00:00" + "time": "2019-01-06T11:32:15+00:00" }, { "name": "phpactor/completion-worse-extension", - "version": "dev-master", + "version": "0.1.1", "source": { "type": "git", "url": "https://github.com/phpactor/completion-worse-extension.git", - "reference": "873a1c8af0d831d2d5a43ad1785de3764f37db82" + "reference": "3d1b510b7af4573b453d13d912236b3fdefcc7f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/completion-worse-extension/zipball/873a1c8af0d831d2d5a43ad1785de3764f37db82", - "reference": "873a1c8af0d831d2d5a43ad1785de3764f37db82", + "url": "https://api.github.com/repos/phpactor/completion-worse-extension/zipball/3d1b510b7af4573b453d13d912236b3fdefcc7f5", + "reference": "3d1b510b7af4573b453d13d912236b3fdefcc7f5", "shasum": "" }, "require": { - "phpactor/completion-extension": "~0.1", + "phpactor/completion-extension": "~0.2", "phpactor/source-code-filesystem-extension": "~0.1", - "phpactor/worse-reflection-extension": "~0.1" + "phpactor/worse-reflection-extension": "~0.2" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", @@ -1437,7 +1088,7 @@ "extra": { "phpactor.extension_class": "Phpactor\\Extension\\CompletionWorse\\CompletionWorseExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { @@ -1456,20 +1107,20 @@ } ], "description": "Collection of completors based on Worse Reflection and the Tolerant PHP Parser", - "time": "2018-11-25T17:18:04+00:00" + "time": "2019-01-12T17:07:59+00:00" }, { "name": "phpactor/composer-autoloader-extension", - "version": "dev-master", + "version": "0.2.0", "source": { "type": "git", "url": "https://github.com/phpactor/composer-autoloader-extension.git", - "reference": "ec979b73be4d96f3b78b42e4db1a9b36514d3dc3" + "reference": "836f4e98ace65a25acd178ef596842bd26999c56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/composer-autoloader-extension/zipball/ec979b73be4d96f3b78b42e4db1a9b36514d3dc3", - "reference": "ec979b73be4d96f3b78b42e4db1a9b36514d3dc3", + "url": "https://api.github.com/repos/phpactor/composer-autoloader-extension/zipball/836f4e98ace65a25acd178ef596842bd26999c56", + "reference": "836f4e98ace65a25acd178ef596842bd26999c56", "shasum": "" }, "require": { @@ -1486,7 +1137,7 @@ "extra": { "phpactor.extension_class": "Phpactor\\Extension\\ComposerAutoloader\\ComposerAutoloaderExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { @@ -1505,20 +1156,20 @@ } ], "description": "Composer Autoloader provider", - "time": "2018-11-24T15:37:50+00:00" + "time": "2019-03-03T12:05:19+00:00" }, { "name": "phpactor/config-loader", - "version": "dev-master", + "version": "0.1.0", "source": { "type": "git", "url": "https://github.com/phpactor/config-loader.git", - "reference": "51b389660897cbeadae9da7102044103871759ae" + "reference": "ad0ed03d2a72bd6c3d5aeb1740dc07791c7e3093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/config-loader/zipball/51b389660897cbeadae9da7102044103871759ae", - "reference": "51b389660897cbeadae9da7102044103871759ae", + "url": "https://api.github.com/repos/phpactor/config-loader/zipball/ad0ed03d2a72bd6c3d5aeb1740dc07791c7e3093", + "reference": "ad0ed03d2a72bd6c3d5aeb1740dc07791c7e3093", "shasum": "" }, "require": { @@ -1536,7 +1187,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { @@ -1555,7 +1206,7 @@ } ], "description": "Library to load (user) configuration", - "time": "2018-12-01T11:08:58+00:00" + "time": "2019-02-16T15:35:49+00:00" }, { "name": "phpactor/console-extension", @@ -1563,12 +1214,12 @@ "source": { "type": "git", "url": "https://github.com/phpactor/console-extension.git", - "reference": "970c78753c872eee6038a127151c1f75c192bd84" + "reference": "4f7b24005629307ebeb2adae1ae69124560a3b41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/console-extension/zipball/970c78753c872eee6038a127151c1f75c192bd84", - "reference": "970c78753c872eee6038a127151c1f75c192bd84", + "url": "https://api.github.com/repos/phpactor/console-extension/zipball/4f7b24005629307ebeb2adae1ae69124560a3b41", + "reference": "4f7b24005629307ebeb2adae1ae69124560a3b41", "shasum": "" }, "require": { @@ -1603,20 +1254,20 @@ } ], "description": "Integrate Symfony Console commands", - "time": "2018-11-24T15:37:55+00:00" + "time": "2019-01-06T11:53:30+00:00" }, { "name": "phpactor/container", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/phpactor/container.git", - "reference": "703c0a4c1e909054328a38eb534f38f57b61ef6a" + "reference": "dbeba5667f6530be03bec2ade148764ea006b085" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/container/zipball/703c0a4c1e909054328a38eb534f38f57b61ef6a", - "reference": "703c0a4c1e909054328a38eb534f38f57b61ef6a", + "url": "https://api.github.com/repos/phpactor/container/zipball/dbeba5667f6530be03bec2ade148764ea006b085", + "reference": "dbeba5667f6530be03bec2ade148764ea006b085", "shasum": "" }, "require": { @@ -1643,20 +1294,20 @@ } ], "description": "Phpactor's DI Container", - "time": "2018-10-21T14:34:14+00:00" + "time": "2019-01-01T22:44:29+00:00" }, { "name": "phpactor/docblock", - "version": "0.1.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/phpactor/docblock.git", - "reference": "976ddf308b51a33a64f822d499c4d61f21f7470e" + "reference": "0acb9bf8d6b4cd5ee5cb4111d8aa347138484343" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/docblock/zipball/976ddf308b51a33a64f822d499c4d61f21f7470e", - "reference": "976ddf308b51a33a64f822d499c4d61f21f7470e", + "url": "https://api.github.com/repos/phpactor/docblock/zipball/0acb9bf8d6b4cd5ee5cb4111d8aa347138484343", + "reference": "0acb9bf8d6b4cd5ee5cb4111d8aa347138484343", "shasum": "" }, "require-dev": { @@ -1665,7 +1316,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "0.3.x-dev" } }, "autoload": { @@ -1684,20 +1335,20 @@ } ], "description": "Simple Docblock Parser", - "time": "2018-10-26T11:35:24+00:00" + "time": "2019-03-03T12:35:29+00:00" }, { "name": "phpactor/extension-manager-extension", - "version": "0.6.3", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/phpactor/extension-manager-extension.git", - "reference": "41bf29a53476b89782873d64d89832525a2dd089" + "reference": "9700d23d53e22acf8187d88a1b56448eaa93ca74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/extension-manager-extension/zipball/41bf29a53476b89782873d64d89832525a2dd089", - "reference": "41bf29a53476b89782873d64d89832525a2dd089", + "url": "https://api.github.com/repos/phpactor/extension-manager-extension/zipball/9700d23d53e22acf8187d88a1b56448eaa93ca74", + "reference": "9700d23d53e22acf8187d88a1b56448eaa93ca74", "shasum": "" }, "require": { @@ -1716,7 +1367,10 @@ }, "type": "phpactor-extension", "extra": { - "phpactor.extension_class": "Phpactor\\Extension\\ExtensionManager\\ExtensionManagerExtension" + "phpactor.extension_class": "Phpactor\\Extension\\ExtensionManager\\ExtensionManagerExtension", + "branch-alias": { + "dev-master": "0.7.x-dev" + } }, "autoload": { "psr-4": { @@ -1734,20 +1388,20 @@ } ], "description": "Install, remove and otherwise manage extensions", - "time": "2018-12-21T21:49:54+00:00" + "time": "2019-03-03T13:10:52+00:00" }, { "name": "phpactor/file-path-resolver", - "version": "0.6.0", + "version": "0.8.0", "source": { "type": "git", "url": "https://github.com/phpactor/file-path-resolver.git", - "reference": "10d1e06f40945188c8c76f25431f4ba0b95fb2b5" + "reference": "01ab55ab723adb72859bdfd57db02013a739e370" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/file-path-resolver/zipball/10d1e06f40945188c8c76f25431f4ba0b95fb2b5", - "reference": "10d1e06f40945188c8c76f25431f4ba0b95fb2b5", + "url": "https://api.github.com/repos/phpactor/file-path-resolver/zipball/01ab55ab723adb72859bdfd57db02013a739e370", + "reference": "01ab55ab723adb72859bdfd57db02013a739e370", "shasum": "" }, "require": { @@ -1758,7 +1412,8 @@ "friendsofphp/php-cs-fixer": "^2.13", "phpbench/phpbench": "^0.14.0", "phpstan/phpstan": "^0.10.5", - "phpunit/phpunit": "^7.4" + "phpunit/phpunit": "^7.4", + "psr/log": "^1.1" }, "type": "library", "autoload": { @@ -1777,25 +1432,26 @@ } ], "description": "Resolve files paths for your application (e.g. cache, data, etc)", - "time": "2018-11-11T10:35:42+00:00" + "time": "2019-01-01T15:50:20+00:00" }, { "name": "phpactor/file-path-resolver-extension", - "version": "0.1.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/phpactor/file-path-resolver-extension.git", - "reference": "2f68b1123d075fa2429d8e89367999a3efecb14b" + "reference": "8a3230a56d14bbe1cf6e0348c5ab4d7a7cc1d0ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/file-path-resolver-extension/zipball/2f68b1123d075fa2429d8e89367999a3efecb14b", - "reference": "2f68b1123d075fa2429d8e89367999a3efecb14b", + "url": "https://api.github.com/repos/phpactor/file-path-resolver-extension/zipball/8a3230a56d14bbe1cf6e0348c5ab4d7a7cc1d0ca", + "reference": "8a3230a56d14bbe1cf6e0348c5ab4d7a7cc1d0ca", "shasum": "" }, "require": { "phpactor/container": "^1.0", - "phpactor/file-path-resolver": "~0.6.0" + "phpactor/file-path-resolver": "~0.7", + "phpactor/logging-extension": "~0.3" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", @@ -1804,59 +1460,14 @@ }, "type": "phpactor-extension", "extra": { - "phpactor.extension_class": "Phpactor\\FilePathResolverExtension\\FilePathResolverExtension" - }, - "autoload": { - "psr-4": { - "Phpactor\\FilePathResolverExtension\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Leech", - "email": "daniel@dantleech.com" - } - ], - "description": "File Path Resolver Extension", - "time": "2018-11-11T10:42:32+00:00" - }, - { - "name": "phpactor/language-server", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/phpactor/language-server.git", - "reference": "f81fd9aba7639b72260df45b1e123fca275e946a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpactor/language-server/zipball/f81fd9aba7639b72260df45b1e123fca275e946a", - "reference": "f81fd9aba7639b72260df45b1e123fca275e946a", - "shasum": "" - }, - "require": { - "dantleech/argument-resolver": "^1.0", - "felixfbecker/language-server-protocol": "^1.0", - "psr/log": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.13", - "phpstan/phpstan": "^0.10.3", - "phpunit/phpunit": "^7.3" - }, - "type": "library", - "extra": { + "phpactor.extension_class": "Phpactor\\FilePathResolverExtension\\FilePathResolverExtension", "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "0.3.x-dev" } }, "autoload": { "psr-4": { - "Phpactor\\LanguageServer\\": "lib/" + "Phpactor\\FilePathResolverExtension\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1869,8 +1480,8 @@ "email": "daniel@dantleech.com" } ], - "description": "Phpactor Language Server", - "time": "2018-10-14T09:32:33+00:00" + "description": "File Path Resolver Extension", + "time": "2019-01-01T15:55:12+00:00" }, { "name": "phpactor/logging-extension", @@ -2000,16 +1611,16 @@ }, { "name": "phpactor/phpactor", - "version": "0.11.1", + "version": "0.12.0.x-dev", "source": { "type": "git", "url": "https://github.com/phpactor/phpactor.git", - "reference": "fcc399e06dd5d351f2ff7dcc98a1a0eb2e3f4054" + "reference": "b37de8b69d525ce8e0d5a30decd59017d656df51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/phpactor/zipball/fcc399e06dd5d351f2ff7dcc98a1a0eb2e3f4054", - "reference": "fcc399e06dd5d351f2ff7dcc98a1a0eb2e3f4054", + "url": "https://api.github.com/repos/phpactor/phpactor/zipball/b37de8b69d525ce8e0d5a30decd59017d656df51", + "reference": "b37de8b69d525ce8e0d5a30decd59017d656df51", "shasum": "" }, "require": { @@ -2017,26 +1628,28 @@ "monolog/monolog": "^1.0", "ocramius/package-versions": "^1.2", "php": "^7.1", - "phpactor/class-mover": "dev-master", - "phpactor/class-to-file-extension": "~0.1", - "phpactor/code-transform": "dev-master", - "phpactor/completion": "~0.1", - "phpactor/completion-extension": "~0.1", - "phpactor/completion-rpc-extension": "~0.1", - "phpactor/completion-worse-extension": "~0.1", + "phpactor/class-mover": "~0.1", + "phpactor/class-to-file-extension": "~0.2", + "phpactor/code-transform": "~0.1", + "phpactor/code-transform-extension": "^0.1", + "phpactor/completion": "~0.2", + "phpactor/completion-extension": "~0.2", + "phpactor/completion-rpc-extension": "~0.2", + "phpactor/completion-worse-extension": "~0.1.1", "phpactor/composer-autoloader-extension": "~0.1", - "phpactor/config-loader": "^1.0", + "phpactor/config-loader": "~0.1", "phpactor/console-extension": "~0.1", "phpactor/container": "^1.0", "phpactor/extension-manager-extension": "~0.1", "phpactor/file-path-resolver-extension": "~0.1", - "phpactor/language-server": "dev-master", "phpactor/logging-extension": "~0.2", "phpactor/path-finder": "dev-master", + "phpactor/reference-finder-rpc-extension": "~0.1", "phpactor/rpc-extension": "~0.1", - "phpactor/source-code-filesystem": "dev-master", - "phpactor/source-code-filesystem-extension": "~0.1", - "phpactor/worse-reflection": "dev-master", + "phpactor/source-code-filesystem": "~0.1", + "phpactor/source-code-filesystem-extension": "~0.1.2", + "phpactor/worse-reference-finder-extension": "~0.1", + "phpactor/worse-reflection": "~0.1", "phpactor/worse-reflection-extension": "~0.1", "phpbench/container": "^1.0", "sebastian/diff": "2.0.x-dev", @@ -2045,6 +1658,7 @@ "webmozart/glob": "^4.1" }, "require-dev": { + "dantleech/what-changed": "~0.1", "friendsofphp/php-cs-fixer": "^2.12@dev", "phpactor/test-utils": "dev-master", "phpbench/phpbench": "^1.0@dev", @@ -2053,54 +1667,345 @@ "symfony/options-resolver": "^2.7|^3.0", "symfony/process": "^2.7|^3.0" }, - "bin": [ - "bin/phpactor" - ], - "type": "library", + "bin": [ + "bin/phpactor" + ], + "type": "library", + "autoload": { + "psr-4": { + "Phpactor\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "description": "PHP refactoring and intellisense tool for text editors", + "time": "2019-03-03T14:44:33+00:00" + }, + { + "name": "phpactor/reference-finder", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/reference-finder.git", + "reference": "4b47b71607e882d43d39c8093bb4f3470ce02a43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/reference-finder/zipball/4b47b71607e882d43d39c8093bb4f3470ce02a43", + "reference": "4b47b71607e882d43d39c8093bb4f3470ce02a43", + "shasum": "" + }, + "require": { + "phpactor/text-document": "~1.0", + "psr/log": "^1.1", + "webmozart/path-util": "^2.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", + "phpstan/phpstan": "^0.10.5", + "phpunit/phpunit": "^7.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Phpactor\\ReferenceFinder\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Base library for finding definitions", + "time": "2019-03-03T12:25:39+00:00" + }, + { + "name": "phpactor/reference-finder-extension", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/reference-finder-extension.git", + "reference": "ea043ba814f9a8168e5f017957c42b1d6e747a35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/reference-finder-extension/zipball/ea043ba814f9a8168e5f017957c42b1d6e747a35", + "reference": "ea043ba814f9a8168e5f017957c42b1d6e747a35", + "shasum": "" + }, + "require": { + "phpactor/container": "^1.0", + "phpactor/logging-extension": "~0.1", + "phpactor/reference-finder": "~0.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", + "phpstan/phpstan": "^0.10.6", + "phpunit/phpunit": "^7.5" + }, + "type": "phpactor-extension", + "extra": { + "phpactor.extension_class": "Phpactor\\Extension\\ReferenceFinder\\ReferenceFinderExtension", + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Phpactor\\Extension\\ReferenceFinder\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Goto definition functionality", + "time": "2019-03-03T12:22:08+00:00" + }, + { + "name": "phpactor/reference-finder-rpc-extension", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/reference-finder-rpc-extension.git", + "reference": "0958459b72794b45d20d79bf0d78c4c82b6f6ade" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/reference-finder-rpc-extension/zipball/0958459b72794b45d20d79bf0d78c4c82b6f6ade", + "reference": "0958459b72794b45d20d79bf0d78c4c82b6f6ade", + "shasum": "" + }, + "require": { + "phpactor/container": "^1.0", + "phpactor/reference-finder-extension": "~0.1", + "phpactor/rpc-extension": "~0.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", + "phpstan/phpstan": "^0.10.6", + "phpunit/phpunit": "^7.5" + }, + "type": "phpactor-extension", + "extra": { + "phpactor.extension_class": "Phpactor\\Extension\\ReferenceFinderRpc\\ReferenceFinderRpcExtension", + "branch-alias": { + "dev-master": "0.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Phpactor\\Extension\\ReferenceFinderRpc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Description about my project", + "time": "2019-01-06T12:13:56+00:00" + }, + { + "name": "phpactor/rpc-extension", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/rpc-extension.git", + "reference": "520431256783babac3f23f27d73dd19d824accfb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/rpc-extension/zipball/520431256783babac3f23f27d73dd19d824accfb", + "reference": "520431256783babac3f23f27d73dd19d824accfb", + "shasum": "" + }, + "require": { + "phpactor/console-extension": "~0.1", + "phpactor/container": "^1.1", + "phpactor/file-path-resolver-extension": "~0.1", + "phpactor/logging-extension": "~0.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", + "phpactor/test-utils": "^1.0", + "phpstan/phpstan": "^0.10.5", + "phpunit/phpunit": "^7.4" + }, + "type": "phpactor-extension", + "extra": { + "phpactor.extension_class": "Phpactor\\Extension\\Rpc\\RpcExtension", + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Phpactor\\Extension\\Rpc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "RPC Extension", + "time": "2019-03-03T12:28:28+00:00" + }, + { + "name": "phpactor/source-code-filesystem", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/source-code-filesystem.git", + "reference": "9f223092c35b65c86536ccc762741b32ea215549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/source-code-filesystem/zipball/9f223092c35b65c86536ccc762741b32ea215549", + "reference": "9f223092c35b65c86536ccc762741b32ea215549", + "shasum": "" + }, + "require": { + "webmozart/path-util": "^2.3" + }, + "require-dev": { + "phpstan/phpstan": "^0.9.2", + "phpunit/phpunit": "^6.2", + "symfony/filesystem": "^3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Phpactor\\Filesystem\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Filesystem library for working with source code files", + "time": "2019-01-06T11:59:25+00:00" + }, + { + "name": "phpactor/source-code-filesystem-extension", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/phpactor/source-code-filesystem-extension.git", + "reference": "9650971e3017f908e04db88157d3927915170f28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpactor/source-code-filesystem-extension/zipball/9650971e3017f908e04db88157d3927915170f28", + "reference": "9650971e3017f908e04db88157d3927915170f28", + "shasum": "" + }, + "require": { + "phpactor/composer-autoloader-extension": "~0.1", + "phpactor/container": "^1.2", + "phpactor/file-path-resolver-extension": "~0.1", + "phpactor/source-code-filesystem": "~0.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", + "phpstan/phpstan": "^0.10.5", + "phpunit/phpunit": "^7.4" + }, + "type": "phpactor-extension", + "extra": { + "phpactor.extension_class": "Phpactor\\Extension\\SourceCodeFilesystem\\SourceCodeFilesystemExtension", + "branch-alias": { + "dev-master": "0.1.x-dev" + } + }, "autoload": { "psr-4": { - "Phpactor\\": "lib/" + "Phpactor\\Extension\\SourceCodeFilesystem\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", - "time": "2018-12-21T12:28:32+00:00" + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Source Code Filesystem Extension", + "time": "2019-03-03T13:37:45+00:00" }, { - "name": "phpactor/rpc-extension", + "name": "phpactor/text-document", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/phpactor/rpc-extension.git", - "reference": "25ec38c2bdacb99384267174e3fa92c375191573" + "url": "https://github.com/phpactor/text-document.git", + "reference": "203c8d317bb3d9d8e58ab965357cbad133f82110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/rpc-extension/zipball/25ec38c2bdacb99384267174e3fa92c375191573", - "reference": "25ec38c2bdacb99384267174e3fa92c375191573", + "url": "https://api.github.com/repos/phpactor/text-document/zipball/203c8d317bb3d9d8e58ab965357cbad133f82110", + "reference": "203c8d317bb3d9d8e58ab965357cbad133f82110", "shasum": "" }, "require": { - "phpactor/console-extension": "dev-master", - "phpactor/container": "^1.1", - "phpactor/file-path-resolver-extension": "~0.1", - "phpactor/logging-extension": "~0.2" + "php": "^7.1", + "webmozart/path-util": "^2.3" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", - "phpactor/test-utils": "^1.0", - "phpstan/phpstan": "^0.10.5", - "phpunit/phpunit": "^7.4" + "infection/infection": "^0.11.4", + "phpstan/phpstan": "^0.10.7", + "phpunit/phpunit": "^7.5" }, - "type": "phpactor-extension", + "type": "library", "extra": { - "phpactor.extension_class": "Phpactor\\Extension\\Rpc\\RpcExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Phpactor\\Extension\\Rpc\\": "lib/" + "Phpactor\\TextDocument\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2113,40 +2018,44 @@ "email": "daniel@dantleech.com" } ], - "description": "RPC Extension", - "time": "2018-12-01T16:38:04+00:00" + "description": "Collection of value objects for representing and referencing text documents", + "time": "2019-01-02T18:56:26+00:00" }, { - "name": "phpactor/source-code-filesystem", + "name": "phpactor/worse-reference-finder-extension", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/phpactor/source-code-filesystem.git", - "reference": "a0b641b9ed4be27810895fdffc31a2cb1c69b31c" + "url": "https://github.com/phpactor/worse-reference-finder-extension.git", + "reference": "a88cf1edea57d53e588f81b6489e7ee94d700924" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/source-code-filesystem/zipball/a0b641b9ed4be27810895fdffc31a2cb1c69b31c", - "reference": "a0b641b9ed4be27810895fdffc31a2cb1c69b31c", + "url": "https://api.github.com/repos/phpactor/worse-reference-finder-extension/zipball/a88cf1edea57d53e588f81b6489e7ee94d700924", + "reference": "a88cf1edea57d53e588f81b6489e7ee94d700924", "shasum": "" }, "require": { - "webmozart/path-util": "^2.3" + "phpactor/container": "^1.0", + "phpactor/reference-finder-extension": "~0.1", + "phpactor/worse-reference-finders": "~0.1", + "phpactor/worse-reflection-extension": "~0.1" }, "require-dev": { - "phpstan/phpstan": "^0.9.2", - "phpunit/phpunit": "^6.2", - "symfony/filesystem": "^3.3" + "friendsofphp/php-cs-fixer": "^2.13", + "phpstan/phpstan": "^0.10.6", + "phpunit/phpunit": "^7.5" }, - "type": "library", + "type": "phpactor-extension", "extra": { + "phpactor.extension_class": "Phpactor\\Extension\\WorseReferenceFinder\\WorseReferenceFinderExtension", "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "0.1.x-dev" } }, "autoload": { "psr-4": { - "Phpactor\\Filesystem\\": "lib/" + "Phpactor\\Extension\\WorseReferenceFinder\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2159,44 +2068,42 @@ "email": "daniel@dantleech.com" } ], - "description": "Filesystem library for working with source code files", - "time": "2018-08-03T06:31:35+00:00" + "description": "Worse reflection implementations for reference finding", + "time": "2019-01-06T12:11:46+00:00" }, { - "name": "phpactor/source-code-filesystem-extension", + "name": "phpactor/worse-reference-finders", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/phpactor/source-code-filesystem-extension.git", - "reference": "96389a9a876efb5c18c1fce131fcfb3d6d2f51d7" + "url": "https://github.com/phpactor/worse-reference-finder.git", + "reference": "78bd0209b34dccbe84ce1e238390cf0f5b86da15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/source-code-filesystem-extension/zipball/96389a9a876efb5c18c1fce131fcfb3d6d2f51d7", - "reference": "96389a9a876efb5c18c1fce131fcfb3d6d2f51d7", + "url": "https://api.github.com/repos/phpactor/worse-reference-finder/zipball/78bd0209b34dccbe84ce1e238390cf0f5b86da15", + "reference": "78bd0209b34dccbe84ce1e238390cf0f5b86da15", "shasum": "" }, "require": { - "phpactor/composer-autoloader-extension": "~0.1", - "phpactor/container": "^1.2", - "phpactor/file-path-resolver-extension": "~0.1", - "phpactor/source-code-filesystem": "dev-master" + "phpactor/reference-finder": "~0.1", + "phpactor/worse-reflection": "~0.1" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", - "phpstan/phpstan": "^0.10.5", - "phpunit/phpunit": "^7.4" + "phpactor/test-utils": "^1.0@dev", + "phpstan/phpstan": "^0.10.6", + "phpunit/phpunit": "^7.5" }, - "type": "phpactor-extension", + "type": "library", "extra": { - "phpactor.extension_class": "Phpactor\\Extension\\SourceCodeFilesystem\\SourceCodeFilesystemExtension", "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.2.x-dev" } }, "autoload": { "psr-4": { - "Phpactor\\Extension\\SourceCodeFilesystem\\": "lib/" + "Phpactor\\WorseReferenceFinder\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2209,8 +2116,8 @@ "email": "daniel@dantleech.com" } ], - "description": "Source Code Filesystem Extension", - "time": "2018-11-24T15:38:32+00:00" + "description": "Worse Reflection reference finder implementations", + "time": "2019-03-03T12:30:27+00:00" }, { "name": "phpactor/worse-reflection", @@ -2218,23 +2125,24 @@ "source": { "type": "git", "url": "https://github.com/phpactor/worse-reflection.git", - "reference": "531509a4055d4446bfbb99268834acadce5beff1" + "reference": "8fc0afa455d302b4b3ad9b6de07ab514384d6283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/worse-reflection/zipball/531509a4055d4446bfbb99268834acadce5beff1", - "reference": "531509a4055d4446bfbb99268834acadce5beff1", + "url": "https://api.github.com/repos/phpactor/worse-reflection/zipball/8fc0afa455d302b4b3ad9b6de07ab514384d6283", + "reference": "8fc0afa455d302b4b3ad9b6de07ab514384d6283", "shasum": "" }, "require": { - "friendsofphp/php-cs-fixer": "^2.13", "jetbrains/phpstorm-stubs": "*", "microsoft/tolerant-php-parser": "~0.0", "php": "^7.1", - "phpactor/docblock": "^0.1", + "phpactor/docblock": "~0.2", + "phpactor/text-document": "~1.0", "psr/log": "^1.0" }, "require-dev": { + "friendsofphp/php-cs-fixer": "^2.13", "phpactor/class-to-file": "~0.1", "phpactor/test-utils": "@dev", "phpbench/phpbench": "dev-master", @@ -2245,7 +2153,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "0.3.x-dev" } }, "autoload": { @@ -2264,7 +2172,7 @@ } ], "description": "Lazy AST reflector that is much worse than better", - "time": "2018-12-08T12:28:28+00:00" + "time": "2019-03-03T12:32:59+00:00" }, { "name": "phpactor/worse-reflection-extension", @@ -2272,12 +2180,12 @@ "source": { "type": "git", "url": "https://github.com/phpactor/worse-reflection-extension.git", - "reference": "cbe60d77b641f4e042abd763d33d503c07225d2f" + "reference": "465ac2fa786451fea6d7294cc29e629ebce5c2e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpactor/worse-reflection-extension/zipball/cbe60d77b641f4e042abd763d33d503c07225d2f", - "reference": "cbe60d77b641f4e042abd763d33d503c07225d2f", + "url": "https://api.github.com/repos/phpactor/worse-reflection-extension/zipball/465ac2fa786451fea6d7294cc29e629ebce5c2e9", + "reference": "465ac2fa786451fea6d7294cc29e629ebce5c2e9", "shasum": "" }, "require": { @@ -2316,7 +2224,7 @@ } ], "description": "Worse Reflection", - "time": "2018-12-01T21:28:48+00:00" + "time": "2018-12-27T11:51:34+00:00" }, { "name": "phpbench/container", @@ -2368,12 +2276,12 @@ "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "2cc4a01788191489dc7459446ba832fa79a216a7" + "reference": "014d250daebff39eba15ba990eeb2a140798e77c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/2cc4a01788191489dc7459446ba832fa79a216a7", - "reference": "2cc4a01788191489dc7459446ba832fa79a216a7", + "url": "https://api.github.com/repos/php-fig/container/zipball/014d250daebff39eba15ba990eeb2a140798e77c", + "reference": "014d250daebff39eba15ba990eeb2a140798e77c", "shasum": "" }, "require": { @@ -2409,7 +2317,7 @@ "container-interop", "psr" ], - "time": "2017-06-28T15:35:32+00:00" + "time": "2018-12-29T15:36:03+00:00" }, { "name": "psr/log", @@ -2609,23 +2517,27 @@ "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "3f8a62ad1763ab3a43b1e30d90a6f443bab15fa5" + "reference": "122a9f0a0c653ecba733ce3b330b27035042d9c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3f8a62ad1763ab3a43b1e30d90a6f443bab15fa5", - "reference": "3f8a62ad1763ab3a43b1e30d90a6f443bab15fa5", + "url": "https://api.github.com/repos/symfony/console/zipball/122a9f0a0c653ecba733ce3b330b27035042d9c6", + "reference": "122a9f0a0c653ecba733ce3b330b27035042d9c6", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/contracts": "^1.0", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8" }, "conflict": { "symfony/dependency-injection": "<3.4", "symfony/process": "<3.3" }, + "provide": { + "psr/log-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", @@ -2635,7 +2547,7 @@ "symfony/process": "~3.4|~4.0" }, "suggest": { - "psr/log-implementation": "For using the console logger", + "psr/log": "For using the console logger", "symfony/event-dispatcher": "", "symfony/lock": "", "symfony/process": "" @@ -2670,7 +2582,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-12-17T13:51:43+00:00" + "time": "2019-02-23T15:22:31+00:00" }, { "name": "symfony/contracts", @@ -2740,82 +2652,18 @@ ], "time": "2018-12-05T08:06:11+00:00" }, - { - "name": "symfony/event-dispatcher", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a0c96c8771a003c058ef2e4366055688be8bd1df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0c96c8771a003c058ef2e4366055688be8bd1df", - "reference": "a0c96c8771a003c058ef2e4366055688be8bd1df", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/contracts": "^1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/stopwatch": "~3.4|~4.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2018-12-17T13:49:19+00:00" - }, { "name": "symfony/filesystem", "version": "3.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b49b1ca166bd109900e6a1683d9bb1115727ef2d" + "reference": "4ec22fee45f077f59f38fc1375bf622602d7b9b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b49b1ca166bd109900e6a1683d9bb1115727ef2d", - "reference": "b49b1ca166bd109900e6a1683d9bb1115727ef2d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4ec22fee45f077f59f38fc1375bf622602d7b9b8", + "reference": "4ec22fee45f077f59f38fc1375bf622602d7b9b8", "shasum": "" }, "require": { @@ -2852,7 +2700,7 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-11-11T19:48:54+00:00" + "time": "2019-02-27T08:20:51+00:00" }, { "name": "symfony/finder", @@ -2860,12 +2708,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d2bae4531a8d48ee610ec664d10336c9500e3a64" + "reference": "c2a5a99744e881c987e22faf443b74b661cada3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d2bae4531a8d48ee610ec664d10336c9500e3a64", - "reference": "d2bae4531a8d48ee610ec664d10336c9500e3a64", + "url": "https://api.github.com/repos/symfony/finder/zipball/c2a5a99744e881c987e22faf443b74b661cada3c", + "reference": "c2a5a99744e881c987e22faf443b74b661cada3c", "shasum": "" }, "require": { @@ -2901,74 +2749,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-12-13T12:43:21+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "100838a05316559b7cf730b33d931d167b0f2bf5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/100838a05316559b7cf730b33d931d167b0f2bf5", - "reference": "100838a05316559b7cf730b33d931d167b0f2bf5", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony OptionsResolver Component", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "time": "2018-12-13T12:43:21+00:00" + "time": "2019-02-23T15:42:19+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.10.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + "reference": "82ebae02209c21113908c229e9883c419720738a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", "shasum": "" }, "require": { @@ -2980,7 +2774,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3013,20 +2807,20 @@ "polyfill", "portable" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", "shasum": "" }, "require": { @@ -3038,7 +2832,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3072,35 +2866,34 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "symfony/polyfill-php70", - "version": "v1.10.0", + "name": "symfony/polyfill-php73", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "d1fb4abcc0c47be136208ad9d68bf59f1ee17abd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/d1fb4abcc0c47be136208ad9d68bf59f1ee17abd", + "reference": "d1fb4abcc0c47be136208ad9d68bf59f1ee17abd", "shasum": "" }, "require": { - "paragonie/random_compat": "~1.0|~2.0|~9.99", "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php70\\": "" + "Symfony\\Polyfill\\Php73\\": "" }, "files": [ "bootstrap.php" @@ -3123,62 +2916,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-09-21T06:26:08+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.10.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", - "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -3186,7 +2924,7 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/process", @@ -3194,12 +2932,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d87c6f01ac6dfc4af25c0f4fb7eeecdc03927615" + "reference": "9a8319d32b6c338826f9181aadfa8865b31ed9f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d87c6f01ac6dfc4af25c0f4fb7eeecdc03927615", - "reference": "d87c6f01ac6dfc4af25c0f4fb7eeecdc03927615", + "url": "https://api.github.com/repos/symfony/process/zipball/9a8319d32b6c338826f9181aadfa8865b31ed9f8", + "reference": "9a8319d32b6c338826f9181aadfa8865b31ed9f8", "shasum": "" }, "require": { @@ -3235,57 +2973,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-12-13T12:43:21+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "e7a0abd89138ac26fc03b56aab1fa4c00a33c883" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e7a0abd89138ac26fc03b56aab1fa4c00a33c883", - "reference": "e7a0abd89138ac26fc03b56aab1fa4c00a33c883", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/contracts": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2018-11-26T16:19:01+00:00" + "time": "2019-01-24T22:35:38+00:00" }, { "name": "symfony/yaml", @@ -3293,12 +2981,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "dfb3b1e87673313cfc632509cfe2d8bea4c5a241" + "reference": "bc4bd12aed793415e62986943f0d9c21f7597ff5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/dfb3b1e87673313cfc632509cfe2d8bea4c5a241", - "reference": "dfb3b1e87673313cfc632509cfe2d8bea4c5a241", + "url": "https://api.github.com/repos/symfony/yaml/zipball/bc4bd12aed793415e62986943f0d9c21f7597ff5", + "reference": "bc4bd12aed793415e62986943f0d9c21f7597ff5", "shasum": "" }, "require": { @@ -3344,7 +3032,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-12-19T19:15:57+00:00" + "time": "2019-02-27T08:20:51+00:00" }, { "name": "twig/twig", @@ -3352,12 +3040,12 @@ "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "fe631d44c4f93278b33ca25db4ec9d79ed2c2d7f" + "reference": "8e166f2dae4fe3b3803da3f5e95ea2869db98a65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/fe631d44c4f93278b33ca25db4ec9d79ed2c2d7f", - "reference": "fe631d44c4f93278b33ca25db4ec9d79ed2c2d7f", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/8e166f2dae4fe3b3803da3f5e95ea2869db98a65", + "reference": "8e166f2dae4fe3b3803da3f5e95ea2869db98a65", "shasum": "" }, "require": { @@ -3373,7 +3061,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { @@ -3411,24 +3099,25 @@ "keywords": [ "templating" ], - "time": "2018-12-16T21:10:06+00:00" + "time": "2019-02-27T07:39:53+00:00" }, { "name": "webmozart/assert", - "version": "dev-master", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "53927dddf3afa2088b355188e143bba42159bf5d" + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/53927dddf3afa2088b355188e143bba42159bf5d", - "reference": "53927dddf3afa2088b355188e143bba42159bf5d", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { "phpunit/phpunit": "^4.6", @@ -3461,7 +3150,7 @@ "check", "validate" ], - "time": "2018-05-29T14:25:02+00:00" + "time": "2018-12-25T11:19:39+00:00" }, { "name": "webmozart/glob", From ae484eaf2ab3bfe84b9cce21990739acfef004fd Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Fri, 18 Jan 2019 10:05:55 +0200 Subject: [PATCH 20/34] Avoid use of context_menu rpc action for generate_accessor action That was a temporary solution for bug https://github.com/phpactor/phpactor/issues/622 --- phpactor.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpactor.el b/phpactor.el index 8a63df4..4a97f39 100644 --- a/phpactor.el +++ b/phpactor.el @@ -737,8 +737,8 @@ function." (defun phpactor-generate-accessors () "Execute Phpactor PRC generate_accessor action." (interactive) - (let ((arguments (phpactor--command-argments :current_path :offset :source))) - (apply #'phpactor-action-dispatch (phpactor--rpc "context_menu" (append arguments (list :action "generate_accessor")))))) + (let ((arguments (phpactor--command-argments :path :offset :source))) + (apply #'phpactor-action-dispatch (phpactor--rpc "generate_accessor" arguments)))) ;;;###autoload (defun phpactor-add-missing-assignments () From 5d7433a47e4164dccb632b48bce36be3bcc17821 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Mon, 4 Mar 2019 18:55:41 +0200 Subject: [PATCH 21/34] Map replace_file_source to phpactor-action-update-file-source (#92) It was too soon to remove replace_file_source as it is sometimes invoked from a callback --- phpactor.el | 1 + 1 file changed, 1 insertion(+) diff --git a/phpactor.el b/phpactor.el index 4a97f39..f7dbf6f 100644 --- a/phpactor.el +++ b/phpactor.el @@ -242,6 +242,7 @@ of GitHub.") (file_references . phpactor-action-file-references) (input_callback . phpactor-action-input-callback) (information . phpactor-action-information) + (replace_file_source . phpactor-action-update-file-source) (update_file_source . phpactor-action-update-file-source))) ;; Helper functions: From c9361bff2dc28734c7274fb77840f112e640d115 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Mon, 4 Mar 2019 21:57:22 +0200 Subject: [PATCH 22/34] add support for class_new, class_inflect and extract_constant (#93) Add function for those refactoring, making them accesible directly (ie not only via context menu) --- phpactor.el | 49 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/phpactor.el b/phpactor.el index f7dbf6f..ce02f3d 100644 --- a/phpactor.el +++ b/phpactor.el @@ -598,7 +598,7 @@ function." ;;;###autoload (defun phpactor-context-menu () - "Execute Phpactor PRC context_menu command." + "Execute Phpactor RPC context_menu command." (interactive) (let ((arguments (phpactor--command-argments :source :offset :current_path))) (apply #'phpactor-action-dispatch (phpactor--rpc "context_menu" arguments)))) @@ -654,60 +654,60 @@ function." ;;;###autoload (defun phpactor-import-class (name) - "Execute Phpactor PRC import_class command for class NAME." + "Execute Phpactor RPC import_class command for class NAME." (interactive) (let ((arguments (phpactor--command-argments :source :offset :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "import_class" (append arguments (list :name name)))))) ;;;###autoload (defun phpactor-complete-constructor () - "Execute Phpactor PRC transform command to complete_constructor." + "Execute Phpactor RPC transform command to complete_constructor." (interactive) (let ((arguments (phpactor--command-argments :source :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "transform" (append arguments (list :transform "complete_constructor")))))) ;;;###autoload (defun phpactor-rename-variable (&optional scope) - "Execute Phpactor PRC action to rename variable in SCOPE." + "Execute Phpactor RPC action to rename variable in SCOPE." (interactive) (let ((arguments (phpactor--command-argments :source :path :offset))) (apply #'phpactor-action-dispatch (phpactor--rpc "rename_variable" (append arguments (list :scope scope)))))) ;;;###autoload (defun phpactor-rename-variable-local () - "Execute Phpactor PRC action to rename variable locally." + "Execute Phpactor RPC action to rename variable locally." (interactive) (phpactor-rename-variable "local")) ;;;###autoload (defun phpactor-rename-variable-file () - "Execute Phpactor PRC action to rename variable in whole file." + "Execute Phpactor RPC action to rename variable in whole file." (interactive) (phpactor-rename-variable "file")) (defun phpactor-complete-properties () - "Execute Phpactor PRC transform command to add_missing_properties." + "Execute Phpactor RPC transform command to add_missing_properties." (interactive) (let ((arguments (phpactor--command-argments :source :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "transform" (append arguments (list :transform "add_missing_properties")))))) ;;;###autoload (defun phpactor-fix-namespace () - "Execute Phpactor PRC transform command to fix namespace." + "Execute Phpactor RPC transform command to fix namespace." (interactive) (let ((arguments (phpactor--command-argments :source :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "transform" (append arguments (list :transform "fix_namespace_class_name")))))) ;;;###autoload (defun phpactor-implement-contracts () - "Execute Phpactor PRC transform command to implement contracts." + "Execute Phpactor RPC transform command to implement contracts." (interactive) (let ((arguments (phpactor--command-argments :source :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "transform" (append arguments (list :transform "implement_contracts")))))) ;;;###autoload (defun phpactor-find-references () - "Execute Phpactor PRC references action to find references." + "Execute Phpactor RPC references action to find references." (interactive) (let ((arguments (phpactor--command-argments :source :path :offset))) (apply #'phpactor-action-dispatch (phpactor--rpc "references" arguments)) @@ -715,14 +715,14 @@ function." ;;;###autoload (defun phpactor-replace-references () - "Execute Phpactor PRC references action command to replace references." + "Execute Phpactor RPC references action command to replace references." (interactive) (let ((arguments (phpactor--command-argments :source :path :offset))) (apply #'phpactor-action-dispatch (phpactor--rpc "references" (append arguments (list :mode "replace")))))) ;;;###autoload (defun phpactor-file-information () - "Execute Phpactor PRC file_info command to gather file informations." + "Execute Phpactor RPC file_info command to gather file informations." (interactive) (let ((arguments (phpactor--command-argments :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "file_info" arguments)))) @@ -736,17 +736,38 @@ function." ;;;###autoload (defun phpactor-generate-accessors () - "Execute Phpactor PRC generate_accessor action." + "Execute Phpactor RPC generate_accessor action." (interactive) (let ((arguments (phpactor--command-argments :path :offset :source))) (apply #'phpactor-action-dispatch (phpactor--rpc "generate_accessor" arguments)))) ;;;###autoload (defun phpactor-add-missing-assignments () - "Execute Phpactor PRC add_missing_assignments action." + "Execute Phpactor RPC add_missing_assignments action." (interactive) (let ((arguments (phpactor--command-argments :source :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "transform" (append arguments (list :transform "add_missing_properties")))))) +;;;###autoload +(defun phpactor-create-new-class () + "Execute Phpactor RPC class_new action." + (interactive) + (let ((arguments (phpactor--command-argments :current_path))) + (apply #'phpactor-action-dispatch (phpactor--rpc "class_new" arguments)))) + +;;;###autoload +(defun phpactor-inflect-class () + "Execute Phpactor RPC class_inflect action." + (interactive) + (let ((arguments (phpactor--command-argments :current_path))) + (apply #'phpactor-action-dispatch (phpactor--rpc "class_inflect" arguments)))) + +;;;###autoload +(defun phpactor-extract-constant () + "Execute Phpactor RPC extract-constant action." + (interactive) + (let ((arguments (phpactor--command-argments :source :offset :path))) + (apply #'phpactor-action-dispatch (phpactor--rpc "extract_constant" arguments)))) + (provide 'phpactor) ;;; phpactor.el ends here From 654f267a3f6fc05d9cbaa52fc323a91188915047 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Tue, 5 Mar 2019 09:44:44 +0200 Subject: [PATCH 23/34] add support for generate_method refactoring (#97) --- phpactor.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/phpactor.el b/phpactor.el index ce02f3d..a22250f 100644 --- a/phpactor.el +++ b/phpactor.el @@ -741,6 +741,13 @@ function." (let ((arguments (phpactor--command-argments :path :offset :source))) (apply #'phpactor-action-dispatch (phpactor--rpc "generate_accessor" arguments)))) +;;;###autoload +(defun phpactor-generate-method () + "Execute Phpactor RPC generate_method action." + (interactive) + (let ((arguments (phpactor--command-argments :path :offset :source))) + (apply #'phpactor-action-dispatch (phpactor--rpc "generate_method" arguments)))) + ;;;###autoload (defun phpactor-add-missing-assignments () "Execute Phpactor RPC add_missing_assignments action." From dd7315482bb0b8ba3910a01bd9cc28a18be13c29 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 10 Mar 2019 17:49:25 +0200 Subject: [PATCH 24/34] make find-references behave better with simpler code (#100) ensime-mode has a similar implementation, which does not rely on tabulated mode and I liked the shorter implementation (grep-mode makes it easy to kill the buffer with a single keystroke). Besides, set-window-dedicated-p helps make the buffer sticky. --- phpactor.el | 48 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/phpactor.el b/phpactor.el index a22250f..f718de9 100644 --- a/phpactor.el +++ b/phpactor.el @@ -356,38 +356,26 @@ of GitHub.") (concat "..." (substring string (- 3 width))) string)) -(defun phpactor-open-file-other-window (path offset) - "Open PATH at OFFSET in a different window." - (save-selected-window - (when (buffer-live-p (get-file-buffer path)) - (switch-to-buffer-other-window (get-file-buffer path))) - (phpactor-action-open-file :path path :offset offset))) - -(defun phpactor-references-list-make-entry (file-reference index) - "Return an entry for the tabulated list, for FILE-REFERENCE at INDEX." - (let ((path (plist-get file-reference :file)) - (in-project-path (string-remove-prefix (phpactor-get-working-dir) (plist-get file-reference :file))) - (references (car (plist-get file-reference :references)))) - (list index - (vector (list - (phpactor-truncate-left in-project-path phpactor-references-list-col1-width) - . ('action - (lambda (_event) (phpactor-open-file-other-window path (plist-get references :start))) - 'help-echo path)) - (number-to-string (plist-get references :line_no)))))) - -;; adapted from flycheck-list-errors -(cl-defun phpactor-list-references () +(defun phpactor-list-references () + "View references in a new buffer." (interactive) (let ((current-references phpactor-references)) - (with-current-buffer (get-buffer-create phpactor-references-buffer) - (setq tabulated-list-format (vector `("File" ,phpactor-references-list-col1-width nil) '("Line" 12 nil :right-align t)) - tabulated-list-padding 2 - tabulated-list-entries (seq-map-indexed #'phpactor-references-list-make-entry current-references)) - (tabulated-list-mode) - (tabulated-list-init-header) - (tabulated-list-print t) - (switch-to-buffer-other-window phpactor-references-buffer)))) + (switch-to-buffer (get-buffer-create phpactor-references-buffer)) + (set-window-dedicated-p (get-buffer-window) t) + (setq buffer-read-only nil) + (erase-buffer) + (dolist (file-reference current-references) + (let ((path (plist-get file-reference :file))) + (dolist (reference (plist-get file-reference :references)) + (when path + (insert-text-button (phpactor-truncate-left path phpactor-references-list-col1-width) + 'action (lambda (_) (find-file path) (goto-char (plist-get reference :start))) + 'help-echo "mouse-2: visit this file in other window") + (insert ": ") + (insert (number-to-string (plist-get reference :line_no))) + (insert "\n"))))) + (goto-char 0) + (grep-mode))) (cl-defun phpactor-action-collection (&key actions) "Executes a collection of actions." From f193b223781285c70c1a34bbd4b22ba486a891c3 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Fri, 15 Mar 2019 22:42:50 +0200 Subject: [PATCH 25/34] add support for hover rpc action + documentation for it with eldoc (#102) --- README.org | 13 +++++++++++++ phpactor.el | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/README.org b/README.org index 28610e0..d128305 100644 --- a/README.org +++ b/README.org @@ -35,6 +35,17 @@ Alternatively, you can install Phpactor on your own and configure `phpactor-exec ** Configuration +*** eldoc integration + +#+BEGIN_SRC elisp + (add-hook 'php-mode-hook + (lambda () + (make-local-variable 'eldoc-documentation-function) + (setq eldoc-documentation-function + 'phpactor-hover))) +#+END_SRC + +*** phpactor itself See https://phpactor.github.io/phpactor/configuration.html ** Troubleshooting @@ -42,3 +53,5 @@ See https://phpactor.github.io/phpactor/configuration.html You can run ``phpactor-status`` while visiting a project file. If needed, configure [[https://github.com/emacs-php/php-mode/blob/1f04813f46219e626b385d0d96abefad914bfae0/php-project.el#L54][the way the project root is detected]] via .dir-locals.el + +"*Phpactor Output*" buffer might also contain useful informations. diff --git a/phpactor.el b/phpactor.el index f718de9..19f81b4 100644 --- a/phpactor.el +++ b/phpactor.el @@ -764,5 +764,12 @@ function." (let ((arguments (phpactor--command-argments :source :offset :path))) (apply #'phpactor-action-dispatch (phpactor--rpc "extract_constant" arguments)))) +;;;###autoload +(defun phpactor-hover () + "Execute Phpactor RPC hover action." + (interactive) + (let ((arguments (phpactor--command-argments :source :offset))) + (apply #'phpactor-action-dispatch (phpactor--rpc "hover" arguments)))) + (provide 'phpactor) ;;; phpactor.el ends here From 6ef9d337b9e88ce3e97c6dd07591427ae79ef66e Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sat, 16 Mar 2019 21:32:28 +0200 Subject: [PATCH 26/34] update notices after rename of phpactor-update (#104) we're using phpactor-install-or-update now --- README.org | 2 +- phpactor.el | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/README.org b/README.org index d128305..6eeb7ee 100644 --- a/README.org +++ b/README.org @@ -27,7 +27,7 @@ Installation with use-package : )))))) #+END_SRC -After having installed this package, run `phpactor-update` (this will install a supported version of phpactor inside phpactor.el's installation folder). +After having installed this package, run `phpactor-install-or-update` (this will install a supported version of phpactor inside `.emacs.d/phpactor`). *NOTICE*: To ensure the supported version of Phpactor is installed, you might need to run this command again after an upgrade of this package. diff --git a/phpactor.el b/phpactor.el index 19f81b4..2693fda 100644 --- a/phpactor.el +++ b/phpactor.el @@ -123,7 +123,7 @@ of GitHub.") (let ((vendor-executable (f-join phpactor-install-directory "vendor/bin/phpactor"))) (when (file-exists-p vendor-executable) vendor-executable)) - (error "Phpactor not found. Please run phpactor-update"))) + (error "Phpactor not found. Please run phpactor-install-or-update"))) ;;;###autoload (defun phpactor-install-or-update () @@ -147,9 +147,7 @@ of GitHub.") (php-runtime-quote-string (concat directory file)) (php-runtime-quote-string (concat phpactor-install-directory file))) do (php-runtime-expr code)) - (composer nil "install" "--no-dev") - ;; (call-process "composer" nil t nil "install" "--no-dev") - )) + (composer nil "install" "--no-dev"))) (defalias 'phpactor-update #'phpactor-install-or-update) (defun phpactor-get-working-dir () From b11fe4d1ab59d5681f144b86a1e5b5969b3f4e6f Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sat, 16 Mar 2019 21:48:21 +0200 Subject: [PATCH 27/34] bugfix for bug #95, using find-file-noselect (#105) this time, targeting develop --- phpactor.el | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/phpactor.el b/phpactor.el index 2693fda..413c10c 100644 --- a/phpactor.el +++ b/phpactor.el @@ -489,23 +489,23 @@ function." (patchbuf (get-buffer-create "*Phpactor patch*")) (coding-system-for-read 'utf-8) (coding-system-for-write 'utf-8)) - - (unwind-protect - (save-restriction - (widen) - (with-current-buffer patchbuf - (erase-buffer)) - - (with-temp-file tmpfile - (insert source)) - - (if (zerop (call-process-region (point-min) (point-max) "diff" nil patchbuf nil "-n" "-" tmpfile)) - (message "Buffer was unchanged by phpactor") - (phpactor--apply-rcs-patch patchbuf) - (message "Buffer modified by phpactor"))) - - (kill-buffer patchbuf) - (delete-file tmpfile)))) + (with-current-buffer (find-file-noselect path) + (unwind-protect + (save-restriction + (widen) + (with-current-buffer patchbuf + (erase-buffer)) + + (with-temp-file tmpfile + (insert source)) + + (if (zerop (call-process-region (point-min) (point-max) "diff" nil patchbuf nil "-n" "-" tmpfile)) + (message "Buffer was unchanged by phpactor") + (phpactor--apply-rcs-patch patchbuf) + (message "Buffer modified by phpactor"))) + + (kill-buffer patchbuf) + (delete-file tmpfile))))) ;; Dispatcher: (cl-defun phpactor-action-dispatch (&key action parameters version) From d90acc71b63b0cde9e4d09829bdbf9dec68d0cc0 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sat, 16 Mar 2019 23:04:35 +0200 Subject: [PATCH 28/34] update composer.lock (#107) --- composer.lock | 64 ++++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/composer.lock b/composer.lock index 1473855..af8abb3 100644 --- a/composer.lock +++ b/composer.lock @@ -68,12 +68,12 @@ "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "ba1e5c213c2932093ee3d8aa3ee1591ffa35e877" + "reference": "522ea033a3c6e72d72954f7cd019a3b75e28f391" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/ba1e5c213c2932093ee3d8aa3ee1591ffa35e877", - "reference": "ba1e5c213c2932093ee3d8aa3ee1591ffa35e877", + "url": "https://api.github.com/repos/composer/composer/zipball/522ea033a3c6e72d72954f7cd019a3b75e28f391", + "reference": "522ea033a3c6e72d72954f7cd019a3b75e28f391", "shasum": "" }, "require": { @@ -140,7 +140,7 @@ "dependency", "package" ], - "time": "2019-02-27T14:07:33+00:00" + "time": "2019-03-04T16:26:35+00:00" }, { "name": "composer/semver", @@ -449,16 +449,16 @@ }, { "name": "microsoft/tolerant-php-parser", - "version": "v0.0.16", + "version": "v0.0.17", "source": { "type": "git", "url": "https://github.com/Microsoft/tolerant-php-parser.git", - "reference": "b662587eb797685a98239d1d52d25168a03fdfb2" + "reference": "89386de8dec9c004c8ea832692e236c92f34b542" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Microsoft/tolerant-php-parser/zipball/b662587eb797685a98239d1d52d25168a03fdfb2", - "reference": "b662587eb797685a98239d1d52d25168a03fdfb2", + "url": "https://api.github.com/repos/Microsoft/tolerant-php-parser/zipball/89386de8dec9c004c8ea832692e236c92f34b542", + "reference": "89386de8dec9c004c8ea832692e236c92f34b542", "shasum": "" }, "require": { @@ -486,7 +486,7 @@ } ], "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios", - "time": "2018-12-29T00:31:32+00:00" + "time": "2019-03-09T19:24:59+00:00" }, { "name": "monolog/monolog", @@ -2590,12 +2590,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/contracts.git", - "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" + "reference": "fb450641fd0e43647ddc5415f3132276545933ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", - "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", + "url": "https://api.github.com/repos/symfony/contracts/zipball/fb450641fd0e43647ddc5415f3132276545933ec", + "reference": "fb450641fd0e43647ddc5415f3132276545933ec", "shasum": "" }, "require": { @@ -2603,19 +2603,21 @@ }, "require-dev": { "psr/cache": "^1.0", - "psr/container": "^1.0" + "psr/container": "^1.0", + "symfony/polyfill-intl-idn": "^1.10" }, "suggest": { "psr/cache": "When using the Cache contracts", "psr/container": "When using the Service contracts", "symfony/cache-contracts-implementation": "", + "symfony/http-client-contracts-implementation": "", "symfony/service-contracts-implementation": "", "symfony/translation-contracts-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.1-dev" } }, "autoload": { @@ -2650,7 +2652,7 @@ "interoperability", "standards" ], - "time": "2018-12-05T08:06:11+00:00" + "time": "2019-03-14T07:32:36+00:00" }, { "name": "symfony/filesystem", @@ -2658,12 +2660,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "4ec22fee45f077f59f38fc1375bf622602d7b9b8" + "reference": "acf99758b1df8e9295e6b85aa69f294565c9fedb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/4ec22fee45f077f59f38fc1375bf622602d7b9b8", - "reference": "4ec22fee45f077f59f38fc1375bf622602d7b9b8", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/acf99758b1df8e9295e6b85aa69f294565c9fedb", + "reference": "acf99758b1df8e9295e6b85aa69f294565c9fedb", "shasum": "" }, "require": { @@ -2700,7 +2702,7 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-02-27T08:20:51+00:00" + "time": "2019-02-04T21:34:32+00:00" }, { "name": "symfony/finder", @@ -2932,12 +2934,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "9a8319d32b6c338826f9181aadfa8865b31ed9f8" + "reference": "9ba593fa9634a98363bbf089ab9b4da39f3e0d8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/9a8319d32b6c338826f9181aadfa8865b31ed9f8", - "reference": "9a8319d32b6c338826f9181aadfa8865b31ed9f8", + "url": "https://api.github.com/repos/symfony/process/zipball/9ba593fa9634a98363bbf089ab9b4da39f3e0d8a", + "reference": "9ba593fa9634a98363bbf089ab9b4da39f3e0d8a", "shasum": "" }, "require": { @@ -2973,7 +2975,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-01-24T22:35:38+00:00" + "time": "2019-03-11T20:50:47+00:00" }, { "name": "symfony/yaml", @@ -2981,12 +2983,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "bc4bd12aed793415e62986943f0d9c21f7597ff5" + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/bc4bd12aed793415e62986943f0d9c21f7597ff5", - "reference": "bc4bd12aed793415e62986943f0d9c21f7597ff5", + "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c", + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c", "shasum": "" }, "require": { @@ -3032,7 +3034,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-02-27T08:20:51+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "twig/twig", @@ -3040,12 +3042,12 @@ "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "8e166f2dae4fe3b3803da3f5e95ea2869db98a65" + "reference": "5aab10578e1bbb014d7d61b28d23e65336fd091c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/8e166f2dae4fe3b3803da3f5e95ea2869db98a65", - "reference": "8e166f2dae4fe3b3803da3f5e95ea2869db98a65", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/5aab10578e1bbb014d7d61b28d23e65336fd091c", + "reference": "5aab10578e1bbb014d7d61b28d23e65336fd091c", "shasum": "" }, "require": { @@ -3099,7 +3101,7 @@ "keywords": [ "templating" ], - "time": "2019-02-27T07:39:53+00:00" + "time": "2019-03-16T11:03:28+00:00" }, { "name": "webmozart/assert", From 0178df05d031fcf79bf47159ceadc00ebfd9ef4a Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Tue, 19 Mar 2019 19:24:33 +0200 Subject: [PATCH 29/34] add phpactor-update-file-hook (#109) This allows user add extra behaviour (like code formatting) after buffer is modified by phpactor. --- phpactor.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/phpactor.el b/phpactor.el index 413c10c..f69c1cb 100644 --- a/phpactor.el +++ b/phpactor.el @@ -84,6 +84,8 @@ (defvar phpactor-history-ring nil) (defvar phpactor--buffer-name "*Phpactor*") +(defvar phpactor-after-update-file-hook nil + "Hook called after the file is updated by phpactor.") ;;; Constants (defconst phpactor-command-name "phpactor") @@ -505,7 +507,8 @@ function." (message "Buffer modified by phpactor"))) (kill-buffer patchbuf) - (delete-file tmpfile))))) + (delete-file tmpfile))) + (run-hooks 'phpactor-after-update-file-hook))) ;; Dispatcher: (cl-defun phpactor-action-dispatch (&key action parameters version) From 24a5746b363225c44d09de0e6f9af7731381e45a Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Wed, 20 Mar 2019 10:05:37 +0200 Subject: [PATCH 30/34] return default-directory when php-project-get-root-dir fails (#110) without working-directory, phpactor isn't very helpful. --- phpactor.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phpactor.el b/phpactor.el index f69c1cb..161242b 100644 --- a/phpactor.el +++ b/phpactor.el @@ -155,7 +155,8 @@ of GitHub.") (defun phpactor-get-working-dir () "Return working directory of Phpactor." (directory-file-name - (expand-file-name (php-project-get-root-dir)))) + (expand-file-name + (or (php-project-get-root-dir) default-directory)))) (defun phpactor--expand-local-file-name (name) "Expand file name by `NAME'." From 199965f8dbe01d11dea3a346bac2f4a31bf895b6 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Wed, 20 Mar 2019 10:09:00 +0200 Subject: [PATCH 31/34] check phpactor-find-executable before completion (#106) also remove useless call to all-completions --- company-phpactor.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/company-phpactor.el b/company-phpactor.el index 4ecefc8..1d60517 100644 --- a/company-phpactor.el +++ b/company-phpactor.el @@ -79,14 +79,15 @@ Here we create a temporary syntax table in order to add $ to symbols." (defun company-phpactor (command &optional arg &rest ignored) "`company-mode' completion backend for Phpactor." (interactive (list 'interactive)) - (save-restriction - (widen) - (pcase command - (`post-completion (company-phpactor--post-completion arg)) - (`annotation (company-phpactor--annotation arg)) - (`interactive (company-begin-backend 'company-phpactor)) - (`prefix (company-phpactor--grab-symbol)) - (`candidates (all-completions arg (company-phpactor--get-candidates)))))) + (when (phpactor-find-executable) + (save-restriction + (widen) + (pcase command + (`post-completion (company-phpactor--post-completion arg)) + (`annotation (company-phpactor--annotation arg)) + (`interactive (company-begin-backend 'company-phpactor)) + (`prefix (company-phpactor--grab-symbol)) + (`candidates (company-phpactor--get-candidates)))))) (provide 'company-phpactor) ;;; company-phpactor.el ends here From d0111bda422326225ff1826f57bf4b10c6641a22 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Sun, 17 Mar 2019 21:18:06 +0200 Subject: [PATCH 32/34] Declare phpactor-executable as defcustom By doing this, we are able to replace phpactor-find-executable function which is a bit more optimized. - update test - reevaluate phpactor-executable using setq (override defcustom), after composer install using hook --- README.org | 2 +- phpactor.el | 47 ++++++++++++++++++++-------------------- tests/e2e/test-sanity.el | 5 +++-- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/README.org b/README.org index 6eeb7ee..35a331e 100644 --- a/README.org +++ b/README.org @@ -31,7 +31,7 @@ After having installed this package, run `phpactor-install-or-update` (this will *NOTICE*: To ensure the supported version of Phpactor is installed, you might need to run this command again after an upgrade of this package. -Alternatively, you can install Phpactor on your own and configure `phpactor-executable` but please be aware that any change in Phpactor's rpc protocol can introduce breakages. +Alternatively, you can install Phpactor on your own and customize `phpactor-executable` but please be aware that any change in Phpactor's rpc protocol can introduce breakages. ** Configuration diff --git a/phpactor.el b/phpactor.el index 161242b..6945afb 100644 --- a/phpactor.el +++ b/phpactor.el @@ -69,15 +69,6 @@ :type 'directory) ;; Variables -;;;###autoload -(progn - (defvar phpactor-executable nil - "Path to `phpactor' executable file.") - (make-variable-buffer-local 'phpactor-executable) - (put 'phpactor-executable 'safe-local-variable - #'(lambda (v) (if (consp v) - (and (eq 'root (car v)) (stringp (cdr v))) - (or (null v) (stringp v)))))) (defvar phpactor--debug nil) (defvar phpactor-history-size 100) @@ -117,15 +108,24 @@ of GitHub.") ;; Special variables (defvar phpactor--execute-async nil) + +;;;###autoload +(defun phpactor--find-executable () + (let ((vendor-executable (f-join phpactor-install-directory "vendor/bin/phpactor"))) + (if (file-exists-p vendor-executable) + vendor-executable + (warn "Phpactor not found. Please run phpactor-install-or-update") + nil))) + +(defcustom phpactor-executable (phpactor--find-executable) + "Path to phpactor executable. + It is recommemded not to customize this, but if you do, you'll + have to ensure a compatible version of phpactor is used." + :type '(string) + :safe #'stringp + :group 'phpactor) + ;; Utility functions -(defun phpactor-find-executable () - "Return Phpactor command or path to executable." - (or (when phpactor-executable - (php-project--eval-bootstrap-scripts phpactor-executable)) - (let ((vendor-executable (f-join phpactor-install-directory "vendor/bin/phpactor"))) - (when (file-exists-p vendor-executable) - vendor-executable)) - (error "Phpactor not found. Please run phpactor-install-or-update"))) ;;;###autoload (defun phpactor-install-or-update () @@ -149,7 +149,9 @@ of GitHub.") (php-runtime-quote-string (concat directory file)) (php-runtime-quote-string (concat phpactor-install-directory file))) do (php-runtime-expr code)) + (add-hook 'compilation-finish-functions (lambda (buffer desc) (setq phpactor-executable (phpactor--find-executable)))) (composer nil "install" "--no-dev"))) + (defalias 'phpactor-update #'phpactor-install-or-update) (defun phpactor-get-working-dir () @@ -167,7 +169,7 @@ of GitHub.") "Return command string by `SUB-COMMAND' and `ARGS'." (declare (indent 1)) (mapconcat 'shell-quote-argument - (cons (phpactor-find-executable) + (cons phpactor-executable (cons sub-command args)) " ")) @@ -196,7 +198,6 @@ of GitHub.") (json-object-type 'plist) (json-array-type 'list) (output (get-buffer-create "*Phpactor Output*")) - (phpactor-executable (phpactor-find-executable)) (cwd (phpactor-get-working-dir))) (with-current-buffer output (erase-buffer)) (with-current-buffer (get-buffer-create "*Phpactor Input*") @@ -372,8 +373,8 @@ of GitHub.") (insert-text-button (phpactor-truncate-left path phpactor-references-list-col1-width) 'action (lambda (_) (find-file path) (goto-char (plist-get reference :start))) 'help-echo "mouse-2: visit this file in other window") - (insert ": ") - (insert (number-to-string (plist-get reference :line_no))) + (insert ": ") + (insert (number-to-string (plist-get reference :line_no))) (insert "\n"))))) (goto-char 0) (grep-mode))) @@ -515,9 +516,9 @@ function." (cl-defun phpactor-action-dispatch (&key action parameters version) "Execite action by `NAME' and `PARAMETERS'." (when (and version (not (equal phpactor--supported-rpc-version version))) - (if (phpactor-find-executable) + (if phpactor-executable (error "Phpactor uses rpc protocol %s but this package requires %s" version phpactor--supported-rpc-version) - (error "Phpactor should be upgraded. Please run phpactor-update"))) + (error "Phpactor should be upgraded. Please run phpactor-install-or-update"))) (phpactor--add-history 'phpactor-action-dispatch (list :action action :parameters parameters :version version)) (let ((func (cdr-safe (assq (intern action) phpactor-action-table)))) (if func diff --git a/tests/e2e/test-sanity.el b/tests/e2e/test-sanity.el index 9c8f34f..6b283df 100644 --- a/tests/e2e/test-sanity.el +++ b/tests/e2e/test-sanity.el @@ -28,8 +28,9 @@ (with-timeout (timeout-duration (display-warning 'buttercup (format "Error : timeout waiting %s seconds for composer install to finish" timeout-duration))) (while (not (file-exists-p (f-join phpactor-install-directory "vendor/bin/phpactor"))) - (sleep-for 1))) - (expect (phpactor-find-executable) :to-equal (f-join phpactor-install-directory "vendor/bin/phpactor")) + (sleep-for 1)) + (sleep-for 1)) + (expect phpactor-executable :to-equal (f-join phpactor-install-directory "vendor/bin/phpactor")) ))) (describe "defun: `phpactor-get-working-dir'" From 4ef25b3497544e4c8ad39c294c411d8155fc58e2 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Mon, 25 Mar 2019 10:00:07 +0200 Subject: [PATCH 33/34] avoid compilation warnings for mandatory but unused arguments --- phpactor.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpactor.el b/phpactor.el index 6945afb..13be13a 100644 --- a/phpactor.el +++ b/phpactor.el @@ -149,7 +149,7 @@ of GitHub.") (php-runtime-quote-string (concat directory file)) (php-runtime-quote-string (concat phpactor-install-directory file))) do (php-runtime-expr code)) - (add-hook 'compilation-finish-functions (lambda (buffer desc) (setq phpactor-executable (phpactor--find-executable)))) + (add-hook 'compilation-finish-functions (lambda (_buffer _desc) (setq phpactor-executable (phpactor--find-executable)))) (composer nil "install" "--no-dev"))) (defalias 'phpactor-update #'phpactor-install-or-update) From 8701361ac7243bc9e8548cb778b350d80cfd0467 Mon Sep 17 00:00:00 2001 From: Mikael Kermorgant Date: Fri, 29 Mar 2019 20:02:03 +0200 Subject: [PATCH 34/34] fix condition in company-phpactor --- company-phpactor.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/company-phpactor.el b/company-phpactor.el index 1d60517..b1cb66e 100644 --- a/company-phpactor.el +++ b/company-phpactor.el @@ -79,7 +79,7 @@ Here we create a temporary syntax table in order to add $ to symbols." (defun company-phpactor (command &optional arg &rest ignored) "`company-mode' completion backend for Phpactor." (interactive (list 'interactive)) - (when (phpactor-find-executable) + (when phpactor-executable (save-restriction (widen) (pcase command