<idea-plugin allow-bundled-update="true">
  <name>PHPStan Support</name>
  <id>com.intellij.php.tools.quality.phpstan</id>
  <description>Plugin provides PHPStan static analysis tool support</description>
  <vendor>JetBrains</vendor>
  <depends>com.jetbrains.php</depends>
  <depends>com.intellij.modules.ultimate</depends>
  <category>PHP Tools</category>
  <resource-bundle>messages.PhpStanBundle</resource-bundle>
  <depends optional="true" config-file="phpstan-remote-plugin.xml">org.jetbrains.plugins.phpstorm-remote-interpreter</depends>
  <extensions defaultExtensionNs="com.intellij">
    <applicationService
        serviceImplementation="com.jetbrains.php.tools.quality.phpstan.PhpStanConfigurationManager$PhpStanAppConfigurationManager"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.phpstan.PhpStanBlackList"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.phpstan.PhpStanProjectConfiguration"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.phpstan.PhpStanOptionsConfiguration"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.phpstan.PhpStanConfigurationManager"/>
    <projectService
        serviceImplementation="com.jetbrains.php.tools.quality.phpstan.PhpStanConfigurationManager$PhpStanProjectConfigurationManager"/>
    <globalInspection language="PHP" shortName="PhpStanGlobal"
                      groupPath="PHP"
                      groupKey="inspection.php.group.quality.tools"
                      enabledByDefault="false"
                      level="WEAK WARNING"
                      implementationClass="com.jetbrains.php.tools.quality.phpstan.PhpStanGlobalInspection"
                      key="inspection.php.stan.global.display.name" bundle="messages.PhpStanBundle"/>
    <externalAnnotator language="PHP" implementationClass="com.jetbrains.php.tools.quality.phpstan.PhpStanAnnotatorProxy"/>
    <postStartupActivity implementation="com.jetbrains.php.tools.quality.phpstan.PhpStanSettingsTransferStartupActivity"/>
    <projectConfigurable instance="com.jetbrains.php.tools.quality.phpstan.PhpStanConfigurable"
                         bundle="messages.PhpStanBundle"
                         key="configurable.quality.tool.phpstan"
                         id="settings.php.quality.tools.phpstan"
                         parentId="settings.php.quality.tools"
                         groupWeight="15"/>
    <completion.contributor language="PHP" implementationClass="com.jetbrains.php.phpstan.completion.PhpStanCompletionContributor"/>
  </extensions>
  <extensions defaultExtensionNs="com.jetbrains.php">
    <composerConfigClient implementation="com.jetbrains.php.tools.quality.phpstan.PhpStanComposerConfig"/>
    <tools.quality.type implementation="com.jetbrains.php.tools.quality.phpstan.PhpStanQualityToolType"/>
    <openSettingsProvider implementation="com.jetbrains.php.tools.quality.phpstan.PhpStanOpenSettingsProvider"/>
  </extensions>

  <extensionPoints>
    <!--suppress PluginXmlValidity -->
    <extensionPoint qualifiedName="com.jetbrains.php.tools.quality.PhpStan.PhpStanConfigurationProvider"
                    interface="com.jetbrains.php.tools.quality.phpstan.PhpStanConfigurationProvider"/>
  </extensionPoints>

  <actions>
    <action id="PhpStanAddToIgnored"
            class="com.jetbrains.php.tools.quality.phpstan.PhpStanAddToIgnoredAction">
      <add-to-group group-id="PHPQualityToolsAddToIgnoredList"/>
    </action>
  </actions>
</idea-plugin>
