Phpactor v0.4.0 Release Notes
Release Date: 2018-05-01 // almost 6 years ago-
๐ Features:
- [Navigation] Reflection navigation: navigate to related classes (currently supports parent class and interfaces).
- [Completion] Built-in function completion, #371
- [Completion] Experimental class completion: complete use, new and extends. Class names inferred from file names.
- [GotoDefinition] Goto function definitions (currently limited to functions defined by the PHPStorm stubs).
๐ Improvements:
- [ClassMover] Find/replace references will only traverse possible classes when givn a known class member #349 (also it will no longer ask the scope, instead defaulting to either composer or full-filesystem search depending on env).
- [ClassMover] (RPC) Will update current (unsaved) source.
- [vim-plugin] Correctly handle expanding class when at beginning of word, #438 thanks @greg0ire
- [vim-plugin] Reload file before replacing contents, fixes #445
- [vim-plugin] File references, do not show quick fix list if all references are in current file.
- [vim-plugin] Completion - trigger on any word-like, fixes #443
- [WorseReflection] Support for
@property
type override (but doesn't create a "pretend" property). - [Application] Pass the Phpactor vendor directory as an argument to the Application and include vendor files (e.g. stubs) relative to that, fixes #460
- [Application] Use XDG data directory for cache.
- [Documentation] Typo fix, thanks @pierreboissinot
๐ Bug fixes:
- [RPC] Import class from context menu, uses context class path instead of current #448
- [CodeBuilder] Regression where already-existing names are imported fixes #452
- [Application] Fixed location of cache directory.
- [Application] Fixed binary path, thanks @talbergs
- [RPC] Specify completion type for text input, fixes #455
๐จ Refactoring:
- [WorseReflection] Full support for reflecting functions.
- [WorseReflection] All member collections extend common interface,
class-likes have a
members(): ReflectionMemberCollection
method. - [Completion] Refactored to make interface more efficient, decoupled formatting from completion.
- [Completion] Made existing completors a subset of tolerant-parser completors (means there is one "chain" tolerant completor which delegates to the other completors and we only have to parse once).