1
0
Fork 0
Commit Graph

153 Commits (41e84880b380368ae5862c01e9a00d55067c48ec)

Author SHA1 Message Date
Felix Becker f00fd1b62c
fix(formatting): drop PHP CodeSniffer (#504)
At this point there are countless issues about the formatting done by CodeSniffer. It plain out doesn't work in many cases, overrides format options that are contributed by other extensions in VS Code and does not reuse any of our AST parsing. For that reason, I am starting to think there is no reason to keep it in here until we have proper pretty-printing support from https://github.com/Microsoft/tolerant-php-parser that actually reuses our ASTs and can work while editing. For people who want to use CodeSniffer to format their code, there could be a standalone CodeSniffer language server (like there is a TSLint language server and ESLint language server). As said, we don't reuse our state anyway.

BREAKING CHANGE: removes formatting support

closes #501
closes #474
closes #473
closes #468
closes #450
closes #445
closes #443
closes #423
closes #343
closes #296
closes #293
closes #499
closes #471
2017-11-04 23:57:51 -07:00
Jens Hausdorf 1edbe35609 refactor: use FunctionLike Interface (#505) 2017-10-30 03:33:19 -07:00
Felix Becker 7ae6452d1a
refactor(index): rename isGlobal to isMember (#511)
isGlobal was confusing because a non-member can be considered global vs namespaced
2017-10-29 17:45:06 -07:00
Felix Becker c74076d84f
fix(cache): bump cache version (#508)
the update of reflection-docblock means old caches are no longer valid.

fixes #507
2017-10-29 13:06:44 -07:00
Jens Hausdorf fbaa7b3cc5 refactor: use ClassLike interface (#506) 2017-10-28 12:27:32 -07:00
Tyson Andre 1db6b7bbb3 chore: fixes for unused variables and phpdoc (#496)
The identifier doesn't need to be generated for a notification to the
client, since there's no response
Add undeclared properties to TreeAnalyzer
Fix other bugs in phpdoc
2017-10-22 22:54:38 -07:00
Felix Becker 16cf8f53e9 fix(docblocks): update to phpdocumentor/reflection-docblock ^4.0.0
closes #139
2017-10-22 21:30:38 -07:00
Vincent Klaiber 3d8655d504 Update phpunit config (#488)
* Update phpunit config

* Rename DocumentHighlight class
2017-10-02 13:37:28 -07:00
Stephan Unverwerth d4443465bb Fix missing diagnostics for nodes (#484)
* Fix missing diagnostics for nodes

* Refactor TreeAnalyzer
2017-09-28 12:53:12 -07:00
John Nguyen a4739430f8 Fix memory leak issue (#459)
Closes #425
2017-08-21 22:43:17 -07:00
Ivan Bozhanov 35f33c8c91 Fluent interfaces support (#421) 2017-07-07 13:18:19 +02:00
Felix Becker fc0bf4c163 Fix workspace/xreferences (#424)
* Make Descriptors minimal

SymbolDescriptor and PackageDescriptor should only contain the minumum amount of properties needed

* Add missing use

* Fixes

* Ignore ReferenceInformation->symbol
2017-06-22 20:06:10 +02:00
Felix Becker fced1d5af6 Fix textDocument/xdefinition (#429) 2017-06-22 17:34:28 +02:00
Felix Becker 00552120ad Restrict workspace/symbol results to non-dependency symbols (#426)
This improves performance a lot and matches what other language servers do
2017-06-21 14:17:36 +02:00
Ivan Bozhanov dae3f2576c Add $this completion (#419) 2017-06-19 12:23:43 +02:00
Felix Becker a772d9a2d7 Remove content (#413) 2017-06-16 20:31:29 +02:00
Felix Becker 0e3727a8d6 Improve CompletionProvider (#412)
- Better performance
- More documentation
- Add field to Definition for global namespace fallback

Fixes #380
2017-06-16 20:31:13 +02:00
Felix Becker 4a98afe540 Fix docblock union types 2017-06-15 17:03:25 +02:00
Rob Lourens 3b633369a7 Fix error getting completions for 'new static' type (#405) 2017-06-15 12:44:03 +02:00
Nicholas Narsing 8d1732ed02 Exclude directory paths from file system search (#401)
* Exclude directories from file system search

Directories can also match the glob search pattern if their names end in ".php", which will cause a read error later since the ContentRetriever implementers are expecting files. As far as I know, the only way to fix this is to do an additional check to ensure the URI is not of a directory.

This resolves #306.
2017-06-11 23:24:17 +02:00
Felix Becker fe7e9d5800 Rename $stmts to $sourceFileNode everywhere
The root node is now a SourceFileNode, not an array
2017-06-10 21:36:16 +02:00
Jens Hausdorf 4c1d7bd1bc Add true, false, null to keywords (#396) 2017-06-10 18:47:19 +02:00
Rob Lourens f10680e441 Fix variable type from method return value, add tests (#393) 2017-06-10 11:10:15 +02:00
Jens Hausdorf 42d0c7b714 Improve handling of abstract classes (#391) 2017-06-09 22:12:32 +02:00
Sara Itani 7f427a1215 Adopt Microsoft/tolerant-php-parser (#357) 2017-06-09 20:25:30 +02:00
Stephan Unverwerth 08cf1a3fd7 Allow getting type from define() node (#363)
* Allow getting type from define() node
- fixes #364

* Add test case for DefinitionResolver
2017-04-24 11:11:40 +02:00
Jens Hausdorf b1cc7bf6b0 Support constants with define() (#347) 2017-04-17 17:03:08 +02:00
Jens Hausdorf de6aed608c Show constructors and destructors with right symbol (#346) 2017-04-09 19:44:28 +02:00
Talv 14a6d65832 Fix missing '()' for function definition (#340) 2017-04-02 00:30:10 +02:00
Jens Hausdorf 4d0a0a2a10 show anything from a doc comment block (#315) 2017-03-19 12:15:39 +01:00
Sara Itani 0de7ba8335 Ensure diagnostics are cleared on file deletion (#319)
* Ensure diagnostics are cleared on file deletion
Previously, error diagnostics would not be cleared when a file was deleted while it was closed. This would result in lingering errors in the problems view that could only be cleared by reloading the language server. This fix addresses the issue by adding support for workspace/didChangeWatchedFiles and automatically clearing diagnostics for deleted files.

* add FileEvent constructor
2017-03-01 11:18:37 +01:00
Matthew Brown 56bd465bf8 DefinitionResolver fixes (#307)
* Fix class references

* Fix return types
2017-02-20 10:28:49 +01:00
Matthew Brown cbfd70d398 Abort traversal in NodeAtPositionFinder (#305) 2017-02-18 00:28:10 +01:00
Trevor Bortins d5c54ac30f Read vendor directory from project's composer.json, if set. (#281) 2017-02-07 23:20:12 +01:00
Felix Becker 571b26a0c3 Use php_uname() instead of PHP_OS (#283) 2017-02-06 16:42:45 +01:00
Felix Becker 3c11cde9fb Include packages-dev (#282) 2017-02-06 16:35:16 +01:00
Felix Becker 5100d89617 Make resolveExpressionNodeToType() handle null (#277) 2017-02-04 12:52:04 +01:00
Felix Becker bedd157636 Caching (#260) 2017-02-04 00:20:38 +01:00
Felix Becker d8823bc7dc Use JetBrains PHPStorm stubs from packagist (#264)
* Use JetBrains PHPStorm stubs from packagist

* Fix path
2017-01-30 11:55:13 +01:00
Felix Becker 96aa998486 Make Index an EventEmitter (#255) 2017-01-25 01:38:11 +01:00
Ivan Bozhanov 43a91b0d09 Handle hover for $this (#249) 2017-01-19 15:47:11 +01:00
Felix Becker d080c161a9 Don't crash if indexing fails 2017-01-13 12:06:58 -08:00
Felix Becker 106aa24b5d Implement global references protocol extension (#236) 2017-01-10 17:08:52 -08:00
Felix Becker 49245fd4d3 Allow overriding (#229)
* Add missing documentLoader property

* Make PhpDocumentLoader->contentRetriever public
2017-01-04 19:18:14 -08:00
Felix Becker 662143abad Fix wrong function call in DefinitionResolver 2016-12-24 16:35:20 +01:00
Felix Becker b93d4f33cb Fix stubs location 2016-12-20 13:53:15 +01:00
Felix Becker 710d2a7ff7 Fix autoloading in ComposerScripts 2016-12-20 13:44:01 +01:00
Felix Becker 2005518dfe Support find-all-references for namespaces (#221) 2016-12-17 03:46:08 +01:00
Felix Becker 83618fee2e Avoid multiple references with function calls (#220) 2016-12-16 23:42:47 +01:00
Felix Becker 2242a35678 Reset definitions and references on content update (#219) 2016-12-16 23:33:55 +01:00