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
96694996f7
Refactor FQN functions to own namespace ( #100 )
2016-10-20 01:00:20 +02:00
Felix Becker
e993b9994a
Remove unneeded argument to ReferencesCollector
2016-10-20 00:20:30 +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
44445e3af4
Remove old definition/references after reparse ( #88 )
2016-10-19 13:33:43 +02:00
Felix Becker
7668a0c695
Catch parse error in indexing ( #83 )
2016-10-19 12:41:53 +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
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
Michal Niewrzal
cba4357856
Fix file name for CompletionItemKind ( #85 )
2016-10-17 10:17:18 +02:00
Felix Becker
1e6917ef55
Add size limit of 0.5MB for indexing ( #80 )
2016-10-14 09:06:56 +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
Michal Niewrzal
c667f83371
Remove unused use statements ( #67 )
2016-10-11 16:23:09 +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
03e4e34a4e
Don't %-decode the document URI
2016-10-09 19:09:28 +02:00
Felix Becker
aff9edb630
Don't crash on array assignments
2016-10-09 19:06:46 +02:00
Felix Becker
1689e4d0dc
Extend symbol search tests
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
3a880934e5
Split up PhpDocument::getDefinitionByNode()
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
827ab4c842
Add Position::compare() and Range::includes()
2016-10-09 15:51:42 +02:00
Felix Becker
fbdf1aa414
Add ownerDocument attribute to nodes
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
Felix Becker
4786fe173c
Decorate all nodes with parent, sibling references
2016-10-08 15:18:31 +02:00
Felix Becker
658a27f5a5
Add more symbols to symbol test
...
* constants
* static properties
* static methods
2016-10-08 15:02:04 +02:00
Felix Becker
063c7f9ad2
Move NodeVisitors to own namespace
2016-10-08 15:01:58 +02:00
Felix Becker
6cb916e28d
Improve inline documentation and code style
2016-10-08 13:45:10 +02:00
Stephan Unverwerth
0c758ec815
Fix issue #42 and add regression test ( #43 )
2016-09-30 15:13:54 +02:00
Felix Becker
6917f1c789
Add more declare(strict_types = 1) ( #39 )
2016-09-30 11:54:49 +02:00
Stephan Unverwerth
501d26e1d4
Global symbol search ( #31 )
...
* Implemented workspace symbol search
* Fixed missing TextEdit using declaration
* Fixed generating uri when parsing next file.
* Cleaned up code. Fixed tests
* Fixed PHPDoc for LanguageServer::initialize()
* Moved utility functions to utils.php
* Added tests for pathToUri and findFilesRecursive
* Added command line argument for socket communication
* Fixed local variable detection and containerName generation in SymbolFinder
* Fixed formatting in ProtocolStreamReader
* Store text content in PHPDocument, removed stmts, regenerate on demand
* Fixed local variable detection and containerName generation in SymbolFinder.
* Added Tests for Project and Workspace
* Added test for didChange event
* Modified lexer error handling
* Removed file that shouldn't have been committed.
* Updated sabre/event dependency to 4.0.0
* Updated readme.md to show tcp option
* make input stream non-blocking
* Correct code style
* Use triple equals
* Revert change in SymbolFinder
* Optimize processFile() a bit
* Use MessageType enum instead of number literal
* Add missing space
* Fixed ProtocolStreamWriter for nonblocking connection.
* Suppress fwrite() notice when not all bytes could be written.
* Fix another code style issue
* Throw Exceotion instead of Error
* Added ProtocolStreamWriter test
* Correct workspace/symbol documentation
* Improve exception in ProtocolStreamWriter::write()
2016-09-30 11:30:08 +02:00
Kaloyan Raev
817056270e
Shift end position in SymbolInformation ranges ( #28 )
...
Fixes #27
2016-09-14 09:45:24 +02:00
Levan Gabeskiria
4d5052bebd
Exclude variable symbols ( #16 )
2016-09-09 19:57:28 +02:00
Felix Becker
aa6b729336
Remove unneeded files
2016-09-06 13:00:23 +02:00
Michal Niewrzal
6169998b92
Support document formatting ( #10 )
2016-09-06 12:54:34 +02:00
Felix Becker
4e88a17de3
Correct diagnostic behavior
2016-09-04 12:43:58 +02:00
Felix Becker
23f641f78b
Fix type references
2016-09-04 12:27:56 +02:00
Felix Becker
db28e22378
Publish errors as diagnostics, improve tests
2016-09-02 21:13:30 +02:00
Felix Becker
57604e61f1
Make documentSymbol work 🎉
2016-09-02 02:56:45 +02:00
Felix Becker
284bde2e36
Add missing import
2016-08-25 17:03:29 +02:00
Felix Becker
21034df05b
Make ProtocolStreamWriter::write() public
2016-08-25 17:01:29 +02:00
Felix Becker
0c96597fdf
Remove Params / Request / Response classes
2016-08-25 15:28:39 +02:00
Felix Becker
41ad025fe7
Update
2016-08-25 15:27:14 +02:00
Felix Becker
138b529df1
Update
2016-08-23 11:21:37 +02:00
Felix Becker
4d2b223a96
Update
2016-08-22 23:48:20 +02:00
Felix Becker
535dc9efda
Remove ParsingMode Enum from LanguageServer
2016-08-22 23:02:39 +02:00
Felix Becker
3b02010097
Update
2016-08-22 22:43:33 +02:00
Felix Becker
64e496fac9
Update
2016-08-22 17:32:31 +02:00
Felix Becker
89a688b778
Add LanguageServer class
2016-08-12 10:25:03 +02:00