Felix Becker
e4e4e3f050
Correct file number in init test
2016-11-23 00:13:30 +01:00
Felix Becker
e376ef1569
Fix testFullyQualifiedClass
2016-11-23 00:04:36 +01:00
Felix Becker
d66cc763bc
Properly filter completion on empty property
2016-11-22 21:27:56 +01:00
Felix Becker
51de0b5dfc
Add tests for static access
2016-11-22 17:33:56 +01:00
Felix Becker
151dea6ad1
Make FQNs more distinct
...
* use -> for instance methods/properties
* use ::$ for static properties
2016-11-22 17:12:24 +01:00
Felix Becker
06636ded54
Improve completion
...
* classes
* variables with prefix filtering
2016-11-22 16:12:12 +01:00
Felix Becker
59670af7bd
Add support for variable suggestions
...
Refactor logic into CompletionProvider class
2016-11-20 19:56:30 +01:00
Felix Becker
5125fa748e
Move completion fixtures into directory
2016-11-19 15:00:14 +01:00
Felix Becker
44d26ba1aa
Add support for method/property completion
2016-11-19 13:05:06 +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
Felix Becker
15e004fb9b
Only hold AST for open files in memory ( #63 )
...
* Only hold content for open files in memory
* Add test for didClose
* Remove invalid URI formatting test
* Don't keep AST in memory
* Fix symbol search crash
* Change Project map to FQN => URI
Removes PhpDocument::load(), isLoaded(), unload()
* Add docblocks
* Rename some functions
* Extend documentation
* Correct docblock
2016-10-11 14:42:56 +02:00
Kaloyan Raev
d41cde2039
Return empty array instead of null for empty definitions result ( #64 )
2016-10-11 10:26:46 +02:00
Kaloyan Raev
1f808c59e1
Fixes #59 : Handle correctly negative endLine in PHP Parser errors ( #62 )
...
* Fixes #59 : Handle correctly negative endLine in PHP Parser errors
* Clearer $startLine calculation
* Add missing test file
* Better calculation of endLine
* Remove trailing spaces
2016-10-11 10:15:20 +02:00
Michal Niewrzal
e75c1592fc
Use PHP_CodeSniffer as a formatter ( #35 )
...
Also adds uriTopath util function
2016-10-10 15:06:02 +02:00
Felix Becker
1689e4d0dc
Extend symbol search tests
2016-10-09 16:37:17 +02:00
Felix Becker
a74bf90d77
Split WorkspaceTest
2016-10-09 16:37:17 +02:00
Felix Becker
0387f28759
Rename NodeVisitors NS to NodeVisitor
2016-10-09 16:03:56 +02:00
Felix Becker
7f95b76cf8
Refactor DefinitionResolver
...
Move logic to PhpDocument::getDefininedFqn() for reusability
Fix DefinitionResolverTest
2016-10-09 15:58:39 +02:00
Felix Becker
7322a6c658
Add fromNode() factories and correct columns
2016-10-09 15:58:39 +02:00
Felix Becker
6be53ad658
Use DefinitionCollector for symbol requests
2016-10-09 15:58:39 +02:00
Felix Becker
d4757e0a24
Add textDocument/definition support
2016-10-09 15:58:39 +02:00
Felix Becker
987308fc0a
Refactor TextDocument tests into separate classes
2016-10-09 15:51:42 +02:00
Felix Becker
48c71e5bc1
Add method to find out node at position
...
Keep AST in memory
2016-10-09 15:51:42 +02:00