1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 12:55:26 +01:00
Go to file
Matthijs Kooijman 3335b26cb4
Fixes to LSP protocol (#4143)
* Fix missing parameter in LSP textDocument.didChange

This parameter was accepted, but not documented. Since the JSON-RPC
Dispatcher looks at the comments for type information, it would fail
to find info and produce:

    PHP Notice: Undefined offset: 1 in vendor/felixfbecker/advanced-json-rpc/lib/Dispatcher.php on line 141

Combined with issue #4142, this ended up violating the protocol.

* Ignore out-of-project files in textDocument.completion

Other methods, such as didOpen and didChange already checked for this,
but completion did not. This would lead to funny behaviour, where
triggering completion would cause the file to be analyzed, but only
using the on-disk state. And any changes to the file would never be
analyzed.

This ignores out-of-project files for completion, too.
2020-09-06 19:31:49 -04:00
.circleci Add some backwards-incompatible changes for 4.x 2020-08-30 11:44:14 -04:00
.github/workflows Run on pull_request too 2020-02-24 11:31:20 -05:00
assets/psalm-phar Make config generation smarter 2020-02-17 22:05:58 -05:00
bin Add some backwards-incompatible changes for 4.x 2020-08-30 11:44:14 -04:00
build/phpunit Add circleci config file 2019-06-16 09:04:56 -04:00
docs Fix link to template annotations (#4125) 2020-09-04 16:26:52 -04:00
examples Short list syntax (#4102) 2020-09-02 00:17:41 -04:00
src Fixes to LSP protocol (#4143) 2020-09-06 19:31:49 -04:00
tests Prevent variables named "haystack" from receiving literal strings 2020-09-05 00:35:48 -04:00
vendor-bin/box Bump box version 2019-06-08 19:59:23 -04:00
.appveyor.yml Test parallelization (#4045) 2020-08-23 10:32:07 -04:00
.editorconfig
.gitattributes Add .gitattributes 2019-03-17 13:30:33 -04:00
.gitignore Fix: Remove unused friendsofphp/php-cs-fixer (#2603) 2020-01-12 10:52:33 -05:00
.scrutinizer.yml More config 2020-05-19 17:51:28 -04:00
.travis.yml Add some backwards-incompatible changes for 4.x 2020-08-30 11:44:14 -04:00
box.json.dist Fix reference to psalm_plugin in box.json.dist 2019-06-07 06:52:07 -04:00
CODE_OF_CONDUCT.md
composer.json Use per-user cache folder (#4098) 2020-09-01 09:20:24 -04:00
config.xsd Config reportInfo to speed up analysis for big projects (#4095) 2020-09-01 09:22:05 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md (#3235) 2020-04-26 18:59:33 -04:00
infection.json.dist Add circleci config file 2019-06-16 09:04:56 -04:00
keys.asc.gpg
LICENSE
phpcs.xml Refactor template calculation out from Psalm\Type\Union 2019-11-03 21:27:40 -05:00
phpunit.xml.dist Test parallelization (#4045) 2020-08-23 10:32:07 -04:00
psalm
psalm-language-server
psalm-plugin
psalm-refactor Change psalm-refactor perms 2019-06-05 10:43:51 -04:00
psalm.xml.dist Add some backwards-incompatible changes for 4.x 2020-08-30 11:44:14 -04:00
PsalmLogo.png
psalter
README.md Shortened the readme 2020-02-24 11:43:32 -05:00
scoper.inc.php Don’t scope more internal classes 2020-05-14 19:56:20 -04:00

Psalm

Packagist Packagist Travis CI Coverage Status Psalm coverage

Psalm is a static analysis tool for finding errors in PHP applications, built on top of PHP Parser.

It's able to find a large number of issues, but it can also be configured to only care about a small subset of those.

Try a live demo, or install it in your project by following the Quickstart Guide below.

Psalm documentation

Documentation is available on Psalms website, generated from the docs folder.

To get started, check out the installation guide

Interested in contributing?

Have a look at CONTRIBUTING.md.

Acknowledgements

The engineering team @vimeo for encouragement and patience, especially @nbeliard, @erunion and @nickyr.