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 05ca0ace20
ci/woodpecker/push/woodpecker Pipeline failed Details
Fix all remaining byte compiler warnings
10 months ago
benchmarks Optimize splay tree and use it to store token's children 10 months ago
test Remove `phpinspect-define-pipeline-step' in favor of direct fun call 10 months ago
.gitignore Fix some compilation warnings 10 months ago
.woodpecker.yml Another attempt at fixing CI 1 year ago
COPYING Add license information 3 years ago
Cask Add Cask configuration and fix some compilation warnings 10 months ago
Makefile Add Cask configuration and fix some compilation warnings 10 months ago
README.md Transition from index script to autoloader 2 years ago
phpinspect-autoload.el Remove `phpinspect-define-pipeline-step' in favor of direct fun call 10 months ago
phpinspect-bmap.el Add factilities to filter logs from different modules 10 months ago
phpinspect-buffer.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-cache.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-changeset.el Add Cask configuration and fix some compilation warnings 10 months ago
phpinspect-class.el Implement eldoc for object attributes 10 months ago
phpinspect-completion.el Add Cask configuration and fix some compilation warnings 10 months ago
phpinspect-edtrack.el Remove faulty edit tracker code based on wrong deduction 10 months ago
phpinspect-eldoc.el Add Cask configuration and fix some compilation warnings 10 months ago
phpinspect-fs.el Make project indexation asynchronous using `phpinspect-pipeline' 10 months ago
phpinspect-imports.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-index.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-meta.el Reimplement `phpinspect-fix-imports' using metadata objects 10 months ago
phpinspect-parse-context.el Add Cask configuration and fix some compilation warnings 10 months ago
phpinspect-parser.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-pipeline.el Remove `phpinspect-define-pipeline-step' in favor of direct fun call 10 months ago
phpinspect-project.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-queue.el Implement async processing pipeline 10 months ago
phpinspect-resolve.el Move more functionalities from main file to separate modules 10 months ago
phpinspect-resolvecontext.el Fix some compilation warnings 10 months ago
phpinspect-serialize.el Implement Incremental Parsing 10 months ago
phpinspect-splayt.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-suggest.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-type.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-util.el Fix all remaining byte compiler warnings 10 months ago
phpinspect-worker.el Fix all remaining byte compiler warnings 10 months ago
phpinspect.el Fix all remaining byte compiler warnings 10 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