1
0
Fork 0
Commit Graph

181 Commits (0a52c68f364c4f82a81577150bfa0fc245950beb)

Author SHA1 Message Date
Jari Pennanen d5bbffb30d
phpDocumentor may throw RuntimeException
Many places in the phpDocumenter may throw RuntimeException, naturally it's hard to tell what went wrong because so many places is coded with that.
2019-09-23 14:26:13 +03:00
Felix Becker 1da3328bc2 fix: allow rootUri to be null
Fixes #684
2018-11-13 18:33:21 +01:00
Tyson Andre 450116e2f3 docs: remove unused use statements, nit on phpdoc (#625)
* Remove unused use statements, nit on phpdoc

Add a note on something that looks like an invalid array index

* Remove phpdoc param with no real param
2018-11-11 20:45:47 +01:00
Felix Becker b1cc565d7e fix(cache): bump cache version 2018-11-11 12:57:20 +01:00
Matthew Brown ed2d8ddb1e refactor: fix impossible parse_url equality (#676)
`parse_url` returns `false` for malformed urls, not `null`
2018-11-11 04:47:10 +01:00
JJK96 680f430453 fix: support rootUri (#672) 2018-11-11 04:33:12 +01:00
Dylan McGannon c7d25c7b44 fix(definitionresolver): infinite loop when indexing self referencing classes (#670) 2018-11-11 04:26:39 +01:00
Michael V 24388bcf26 perf: change index to a tree to speed up completion (#680)
Refactors Index into a tree structure, rather than an array of Fqns to definitions.

Closes #274
2018-11-11 03:47:57 +01:00
dantleech 18c6ccd137 refactor: use protocol package (#661)
Adapts the Language Server to use the extracted php language server protocol
2018-09-09 14:37:35 +02:00
janekcz69 3931c8848f fix: cast null to array before passing to array_merge() (#666)
Fixes #595
2018-08-22 20:48:14 +02:00
Declspeck 02b7d2fdb6 feat(completion): add pseudo-keywords like int, bool, strict_types to completion 2018-03-11 13:50:12 -07:00
Felix Becker de1af6a165
refactor: use composer/xdebug-handler (#616) 2018-03-08 11:48:56 -08:00
Declspeck b412c125a4 fix(indexing): handle integer FQNs 2018-02-28 11:21:04 -08:00
Tyson Andre 8adcf92c2f chore: remove unused 'use' statements (#612)
detected via static analysis and manually checked
2018-02-28 10:05:22 -08:00
Jens Hausdorf a8f60c9cf6 fix(completion): do not propose <?php if completion context is not given (#593)
fixes #372
2018-02-07 11:55:25 -08:00
Felix Becker d9bc0b0285
fix(completion): don't require constructor parameter for protocol DTO (#592) 2018-02-02 12:09:25 -08:00
Phil Nelson 6894d85aaf fix(DefinitionResolver): resolve self correctly for docblock @return self (#576) 2018-01-09 01:38:18 -08:00
Felix Becker 20960a8b9f
fix(DefinitionResolver): find variables in sibling children (#568)
Fixes #566
2017-12-30 22:26:51 -08:00
Phil Nelson 1cfba8b6bb fix(DefinitionResolver): don't crash if foreach key isn't a variable (#564) 2017-12-24 17:55:48 -08:00
Phil Nelson 425b2390b5 fix(DefinitionResolver): fix crash on unknown foreach type (#562)
Fix when unknown type is found in foreach expression
2017-12-24 01:52:49 -08:00
Phil Nelson 63da051e72 fix(DefinitionResolver): fix methods with self return type (#550) 2017-12-22 18:02:37 -08:00
Phil Nelson 9eea26df71 feat: foreach completion (#551) 2017-12-17 17:55:12 -08:00
phil-nelson a40cf731f7 feat: Signature help (#547)
closes #18
2017-12-09 21:10:43 -08:00
Felix Becker 09477b747e fix(diagnostics): handle null case 2017-12-03 15:49:43 -08:00
Maarten Staa 9b1fafae58 fix(diagnostics): update checking of $this usage to only error in static methods (#545) 2017-12-03 13:42:01 -08:00
Maarten Staa 4f672c24d8 feat(diagnostics): report error when $this is used in a static method or outside a class method (#528) 2017-11-18 17:41:37 -08:00
Felix Becker 80ef8ff503
fix(indexing): properly resolve self, static and parent keywords (#532)
Previously we would dump static, self and parent as literal FQNs into the index.
2017-11-18 16:59:57 -08:00
Felix Becker b1a1875070
fix(completion): don't suggest <?php on > characer (#527)
closes #372
2017-11-15 22:38:01 -08:00
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