Skip to content

Allow File Reference injection via meta php #25

@King2500

Description

@King2500

.phpstorm.meta.php:

<?php
namespace PHPSTORM_META {
    xAdvancedInjectFileReference(\My\Stuff\Example::dump(), 1);  // relative to doc root or current file (see below)
    xAdvancedInjectFileReference(\My\Stuff\Example::dump(), 1, '/'); // relative to doc root
    xAdvancedInjectFileReference(\My\Stuff\Example::dump(), 1, '.'); // relative to current file
    xAdvancedInjectFileReference(\My\Stuff\Example::dump(), 1, '/dir'); // relative to /dir/
}

User code:

$x = new Example();
$x->dump('bla', '<ref>path/to/file.ext</ref>');

If inside class always go relative from doc root.
If not inside class always go relative from current file.

Plugin's built-in .phpstorm.meta.php:

<?php
namespace PHPSTORM_META {
    function xAdvancedInjectFileReference($functionReference, $argumentIndex, $relativeMode = null) {
        return "xAdvancedInjectFileReference " . $functionReference . " at " . $argumentIndex . ": " . $relativeMode;
    }

    registerArgumentsSet('x_advanced_fileref_relative_modes', '/', '.');
    expectedArguments(\PHPSTORM_META\xAdvancedInjectFileReference(), 2, argumentsSet('x_advanced_fileref_relative_modes');
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions