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).