Sara Itani
d6d9712134
clarify logic around scoped and member access expressions
2017-04-12 16:53:03 -07:00
Sara Itani
35ce3af324
fix issue where call expression references weren't being properly indexed
2017-04-12 12:51:24 -07:00
Sara Itani
39fe9dc7bc
fix issue where vars not being resolved to corresponding parameter definitions, update logging and validation tests
2017-04-11 16:24:35 -07:00
Sara Itani
57ebd58b6c
Update validation tests to verify more definition properties, references
2017-04-11 12:54:20 -07:00
Sara Itani
981b74a6db
don't get docblock comment for namespace definition nodes
2017-04-11 12:52:24 -07:00
Sara Itani
219c018ab2
Disclude anonymous class members from definitions
2017-04-10 21:58:08 -07:00
Sara Itani
3d5d46d4e7
don't use generator during iteration
2017-04-10 14:18:19 -07:00
Sara Itani
b02c164c2b
fix property / constant ancestor check
2017-04-10 13:13:47 -07:00
Sara Itani
21cee77624
include traits and interfaces when retrieving fqn
2017-04-10 12:42:49 -07:00
Sara Itani
fa52aef28a
revert isClass -> canBeInstantiated
...
- ensures consistency w/ old parser
2017-04-10 12:29:58 -07: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
Sara Itani
7d68e3acc3
Only traverse tree 1x for definitions + references
2017-03-29 10:48:53 -07:00
Sara Itani
d62bdeac82
revert earlier change to fix tests
2017-03-29 10:45:38 -07:00
Sara Itani
a5fec9452b
Fix misc. issues in language server
2017-03-28 14:02:26 -07:00
Sara Itani
42dc2c966d
Update validation tests
...
- assert non-null ASTs
- additional submodules
2017-03-28 13:59:24 -07:00
Sara Itani
a69c93b28b
Print null docs in language server perf log
2017-03-28 13:55:10 -07:00
Sara Itani
4ac56d83a4
Update logging
...
- add diagnostics for old parser
- include maxRecursion levels
- include option to run functions multiple times to help profile
2017-03-28 13:53:53 -07:00
Sara Itani
946b5b1cdb
Fix exception during diagnostics parsing
2017-03-24 10:31:23 -07:00
Sara Itani
c84b91de2b
Fix exception during definition resolution
2017-03-24 10:30:34 -07:00
Sara Itani
7b633f5e07
minor perf improvements
2017-03-21 15:25:49 -07:00
Jens Hausdorf
4d0a0a2a10
show anything from a doc comment block ( #315 )
2017-03-19 12:15:39 +01:00
Sara Itani
81ba7df91c
fix some crashes, perf issues
2017-03-15 14:10:52 -07:00
Sara Itani
0824e6d9b8
start adding validation tests
2017-03-15 14:10:29 -07:00
Sara Itani
4324530389
Find all references support
2017-03-09 15:57:57 -08:00
Sara Itani
167b6ac6f2
Update getDocBlock to use context information. All Definition tests pass!
2017-03-06 21:31:13 -08:00
Sara Itani
e45648daab
fix global constant fallback
2017-03-06 16:12:26 -08:00
Sara Itani
afca7ea7e0
fix definitions namespaced function calls
2017-03-06 16:08:06 -08:00
Sara Itani
d02253c9f6
fix base class logic
2017-03-06 15:34:43 -08:00
Sara Itani
1ff1b38ec2
fix subscript expression resolution
2017-03-06 14:21:36 -08:00
Sara Itani
4653f100a7
fix variableName symbol info, offsets in tests
2017-03-06 13:59:12 -08:00
Sara Itani
d21e7e7008
Fix qualified name resolution
2017-03-06 11:07:05 -08:00
Sara Itani
1316761e5e
fix scoped expression definition resolution
2017-03-06 11:01:10 -08:00
Sara Itani
c18bec0d50
small fixes, add diagnostic mode
2017-03-05 23:23:33 -08:00
Sara Itani
d3f2bebb40
Hover and Go-To definition (in progress)
2017-03-05 20:22:13 -08:00
Sara Itani
cdf8fc36e1
add getNodeAtPosition, fix definition collector tests
2017-03-05 16:34:01 -08:00
Sara Itani
15eed55158
Symbol support for Microsoft/tolerant-php-parser
2017-03-04 20:56:01 -08:00
Sara Itani
722898f74d
refactor
2017-03-04 18:36:17 -08:00
Sara Itani
2280e7889b
extract to tree analyzer interface
2017-03-04 17:44:04 -08:00
Sara Itani
e7b04f7518
extract symbol information
2017-03-01 16:51:52 -08:00
Sara Itani
b1eb43516d
update definition resolver interfaces
2017-03-01 16:51:46 -08:00
Sara Itani
591ecbd7d3
Extract static FQN methods to FqnUtilities
2017-03-01 16:51:45 -08:00
Sara Itani
df315df04b
start refactoring definition resolver
2017-03-01 16:51:43 -08:00
Sara Itani
13241a7be9
initialize tolerant-php-parser
2017-03-01 16:51:16 -08: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
Felix Becker
a4a13e6528
Add support for inherited members ( #218 )
...
in completion, definition, references, hover etc
2016-12-16 01:40:17 +01:00
Felix Becker
cc9d5e987b
Fix wrong class name
2016-12-15 18:01:44 +01:00
Felix Becker
0b61951a9c
Support hover for definitions
...
#201
2016-12-13 03:18:07 +01:00
Felix Becker
96ea8608d7
Support getting references from a reference
...
Closes #201
2016-12-13 02:53:01 +01:00
Felix Becker
b8a113ddd0
Correct reference collection for New_ nodes
...
Closes #202
2016-12-13 02:40:51 +01:00
Felix Becker
d90a88e625
Add missing property declaration
2016-12-13 02:13:57 +01:00
Felix Becker
d7fc9e0425
Index twice to collect dynamic references ( #206 )
2016-12-13 02:11:29 +01:00
Felix Becker
a7d77d844e
Add Index classes and stubs ( #214 )
2016-12-13 01:51:02 +01:00
Felix Becker
b9f9871156
Files finder ( #209 )
2016-12-08 02:33:48 +01:00
Felix Becker
ebd1cc6133
Refactor content retrieval ( #208 )
2016-12-08 01:51:32 +01:00
Michal Niewrzal
db6f4f7e5d
Don't filter properties on typed prefix ( #207 )
2016-12-07 21:17:55 +01:00
Felix Becker
10fb3c92e0
Completion ( #165 )
...
* Add support for method/property completion
* Move completion fixtures into directory
* Add support for variable suggestions
Refactor logic into CompletionProvider class
* Allow getTypeFromNode() to take Variable nodes
* Use property and constant values
* Fix using @var tag for variables
* Improve completion
* classes
* variables with prefix filtering
* Make FQNs more distinct
* use -> for instance methods/properties
* use ::$ for static properties
* Add tests for static access
* Properly filter completion on empty property
* Fix existing tests
* Add support for static access without prefix
* Fix testFullyQualifiedClass
* Add missing fixtures
* Correct file number in init test
* Only insert backslash if not typed yet
* Completion for keywords and bug fixes
* Correct variable insertion
* Support completion for namespaces
* Use CompletionList
* Always set isIncomplete to true
* Update PHPCodeSniffer
* Remove unused method
* And the call
* Handle case where FQN could not be resolved
2016-11-30 22:23:51 +01:00
Felix Becker
f56b14438b
Shutdown when the socket is closed ( #191 )
2016-11-30 21:10:05 +01:00
Michal Niewrzal
ea92b224cd
Symbols throws error for empty php file ( #187 )
...
Closes #186
2016-11-29 13:10:02 +01:00
Michal Niewrzal
e8ab8aa2b8
Make processId optional for initialization ( #178 )
2016-11-23 18:38:57 +01:00
Felix Becker
429114ff97
Handle group use declarations in DocBlockParser ( #166 )
2016-11-19 13:04:13 +01:00
Felix Becker
5213940064
Don't encode spaces to +
2016-11-19 12:25:52 +01:00
Felix Becker
8f6ee8dd02
Handle null return from getClosestNode()
2016-11-19 12:03:43 +01:00
Felix Becker
00bc8537a6
Support compound types when resolving FQNs
2016-11-19 11:45:25 +01:00
Felix Becker
fb84741d55
Add missing property
2016-11-19 06:37:07 +01:00
Felix Becker
c2ae7cd022
FIx crashes when tag doesn't have a type
2016-11-19 06:36:57 +01:00
Felix Becker
33211c68ca
Resolve expressions recursively ( #155 )
...
* Add Definition class
* Add recursive DefinitionResolver
* Cache hover
2016-11-18 15:22:24 +01:00
Michal Niewrzal
50490d51ea
Fix formatting makes LS non-responsive ( #153 )
2016-11-18 14:25:05 +01:00
Felix Becker
12df6a7dd6
Add size limit back ( #161 )
2016-11-18 13:24:26 +01:00
Felix Becker
32b01afa90
Index files serially again ( #157 )
2016-11-17 22:20:37 +01:00
Felix Becker
642425dede
Ignore errors from dependencies ( #147 )
2016-11-14 20:00:10 +01:00
Felix Becker
03bbf5f4ba
Enable LS to operate without accessing the file system ( #136 )
...
This PR decouples the LS from direct file system access by implementing the proposals for workspace/files and textDocument/content under workspace/xfiles and textDocument/xcontent. The requests are only used when the client expressed support for them through ClientCapabilities, otherwise direct FS access is used.
This turns document content retrieval and recursive file search into async operations.
In turn, all server handlers can now operate async by returning a promise.
2016-11-14 10:25:44 +01:00
Felix Becker
25f300c157
Add test for indexing
2016-11-07 11:52:24 +01:00
Felix Becker
47472252a7
Encode spaces in paths to %20 instead of + ( #140 )
2016-11-07 10:24:49 +01:00
Felix Becker
04ef6c8adf
Handle Client responses ( #128 )
2016-10-31 11:47:21 +01:00
Felix Becker
18e58b4ce8
Update php-parser to latest commit ( #119 )
2016-10-26 22:25:24 +02:00
Felix Becker
ed41df0062
Remove caching for now ( #118 )
2016-10-26 21:35:57 +02:00
Michal Niewrzal
867196babf
Definition for instanceof class ( #117 )
2016-10-26 20:56:02 +02:00
Michal Niewrzal
8a354ba1af
Definition for use function ( #116 )
2016-10-26 11:47:02 +02:00
Stephan Unverwerth
6806ba94e0
Async ProtocolStreamWriter ( #112 )
2016-10-25 23:50:36 +02:00
Felix Becker
cd3bf18fe2
Revert "Handle closed input or output stream ( #110 )"
...
This reverts commit 83afa0c1b8
.
2016-10-24 23:20:15 +02:00