1
0
Fork 0
Commit Graph

75 Commits (7f427a121541a4023bc74327929b0608f57e2dc1)

Author SHA1 Message Date
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
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
Cameron Eagans 5d2ab8f369 Add test for #211 (#270) 2017-02-15 17:25:06 +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 bedd157636 Caching (#260) 2017-02-04 00:20:38 +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 106aa24b5d Implement global references protocol extension (#236) 2017-01-10 17:08:52 -08:00
Felix Becker 2005518dfe Support find-all-references for namespaces (#221) 2016-12-17 03:46:08 +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 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 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
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
Michal Niewrzal e8ab8aa2b8 Make processId optional for initialization (#178) 2016-11-23 18:38: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
Felix Becker 6056f39d01 Fix LanguageServerTest failure 2016-11-17 22:08:05 +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 9e65cd4cf0 Correct ProtocolStreamReaderTest 2016-11-06 15:59:32 +01:00
Felix Becker 04ef6c8adf Handle Client responses (#128) 2016-10-31 11:47:21 +01:00
Felix Becker ff0a35d833 Simplify ProtocolStreamWriterTest 2016-10-31 10:23:37 +01:00
Felix Becker 18e58b4ce8 Update php-parser to latest commit (#119) 2016-10-26 22:25:24 +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
ADmad 5ecab683eb Linting (#107)
* Update travis config.
* Add phpcs config file.
* Exclude rules
* Ignore failures in tests
* Automatic fixes
* Inline ParsingMode enum as class constants
* Loosen FormatTest because of excluded rule
2016-10-24 19:35:37 +02:00
Michal Niewrzal a19d225a7a Fix definition for method return type (#76) 2016-10-21 16:51:11 +02:00
Felix Becker 953a8023b7 Update AdvancedJsonRpc (#103) 2016-10-20 03:31:12 +02:00
Felix Becker 9cbca1cd7f Revert "Use SymbolKind::FIELD for class fields (#78)"
This reverts commit 2980941fd1.
2016-10-20 01:53:07 +02:00
Felix Becker e19670c141 Resolve self, static, parent (#99) 2016-10-20 00:18:36 +02:00
Felix Becker 6bd1b10e4d Resolve $this (#98) 2016-10-20 00:10:47 +02:00
Felix Becker 4db7ffd88c Hover (#50)
* Add hover support

* Use context in DocBlockParser

* Improve DocBlockParser error handling

* Improve hover output

* Add more tests
2016-10-19 12:31:32 +02:00
Felix Becker 2e03aa32f3 Fix class constant tests 2016-10-19 12:26:22 +02:00
Felix Becker 6b6ec8c105 Symbol test refactor (#92)
* Don't use json_decode in symbol tests

* Remove custom setUp()

* Use getDefinitionLocation()

* TextDocumentTestCase -> ServerTestCase

* Refactor Workspace\SymbolTest
2016-10-18 23:09:51 +02:00
Felix Becker cdcfaf7849 Refactor Definition\GlobalFallbackTest 2016-10-18 15:18:50 +02:00
Felix Becker 691a0bddfe Refactor tests for easier changes to fixtures (#87) 2016-10-18 10:48:16 +02:00
Felix Becker 2980941fd1 Use SymbolKind::FIELD for class fields (#78) 2016-10-14 09:02:42 +02:00
Felix Becker c479969758 Add support for definition of static class access (#72)
Getting the definition of TestClass in
TestClass::staticTestMethod();
echo TestClass::$staticTestProperty;
echo TestClass::TEST_CLASS_CONST;
2016-10-12 12:40:13 +02:00
Felix Becker 6fe01183b0 References (#52)
* Adds support for textDocument/references
* Adds tests for global definitions and global fallback
2016-10-12 01:45:15 +02:00
Felix Becker 66b5176a43 Allow %-encoded colon after drive letter in URI 2016-10-12 00:53:21 +02:00