You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Hugo Thunnissen 43310092ad Clear tree and edit tracker when reparsing (to ensure full reparse) 11 months ago
benchmarks Implement Incremental Parsing 12 months ago
test Implement strategy pattern for phpinspect-eldoc-function 11 months ago
.gitignore Add resolvecontext structure and optimze type resolving process 3 years ago
.woodpecker.yml Another attempt at fixing CI 1 year ago
COPYING Add license information 3 years ago
README.md Transition from index script to autoloader 2 years ago
phpinspect-autoload.el Refactor phpinspect--project to phpinspect-project 1 year ago
phpinspect-bmap.el Increase phpinspect-bmap-last-token-before-point backward search limit to 100 11 months ago
phpinspect-buffer.el Clear tree and edit tracker when reparsing (to ensure full reparse) 11 months ago
phpinspect-cache.el Refactor phpinspect--project to phpinspect-project 1 year ago
phpinspect-class.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago
phpinspect-edtrack.el Use `phpinspect-edtrack-original-position-at-point' for edit end determination 12 months ago
phpinspect-eldoc.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago
phpinspect-fs.el Make file contents insertion asynchronous in background threads 1 year ago
phpinspect-imports.el Fix some bugs introduced by the incremental parsing feature 12 months ago
phpinspect-index.el Fix some bugs introduced by the incremental parsing feature 12 months ago
phpinspect-parser.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago
phpinspect-project.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago
phpinspect-queue.el Implement Incremental Parsing 12 months ago
phpinspect-resolvecontext.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago
phpinspect-serialize.el Implement Incremental Parsing 12 months ago
phpinspect-type.el Implement array member type inference 1 year ago
phpinspect-util.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago
phpinspect-worker.el Implement Incremental Parsing 12 months ago
phpinspect.el Implement strategy pattern for phpinspect-eldoc-function 11 months ago

README.md

phpinspect.el

WIP. More documentation is in the making.

Example config

;;;###autoload
(defun my-php-personal-hook ()
  ;; It is important to enable `company-mode' before setting
  ;; the variables below.
  (company-mode)
  (setq-local company-minimum-prefix-length 0)
  (setq-local company-tooltip-align-annotations t)
  (setq-local company-idle-delay 0.1)
  (setq-local company-backends '(phpinspect-company-backend))

  ;; Shortcut to add use statements for classes you use.
  (define-key php-mode-map (kbd "C-c u") 'phpinspect-fix-imports)

  ;; Shortcuts to quickly search/open files of PHP classes.
  (global-set-key (kbd "C-c a") 'phpinspect-find-class-file)
  (global-set-key (kbd "C-c c") 'phpinspect-find-own-class-file)

  (phpinspect-mode))

(add-hook 'php-mode-hook #'my-php-personal-hook)

Install

git clone https://git.snorba.art/hugo/phpinspect.el ~/projects/phpinspect.el
(add-to-list 'load-path "~/projects/phpinspect.el")
(require 'phpinspect)

Development

Running tests

Tests are implemented using ert. You can run them in batch mode with the following command:

emacs -L ./ -batch -l ert -l ./phpinspect.el -l ./test/phpinspect-test.el -f ert-run-tests-batch-and-exit