<idea-plugin allow-bundled-update="true">
  <name>Psalm Support</name>
  <id>com.intellij.php.psalm</id>
  <description>Plugin provides Psalm static analysis tool support</description>
  <vendor>JetBrains</vendor>
  <category>PHP Tools</category>
  <depends>com.jetbrains.php</depends>
  <depends>com.intellij.modules.ultimate</depends>
  <resource-bundle>messages.PsalmBundle</resource-bundle>
  <depends optional="true" config-file="psalm-remote-plugin.xml">org.jetbrains.plugins.phpstorm-remote-interpreter</depends>
  <extensions defaultExtensionNs="com.intellij">
    <applicationService
      serviceImplementation="com.jetbrains.php.tools.quality.psalm.PsalmConfigurationManager$PsalmAppConfigurationManager"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.psalm.PsalmBlackList"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.psalm.PsalmProjectConfiguration"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.psalm.PsalmOptionsConfiguration"/>
    <projectService serviceImplementation="com.jetbrains.php.tools.quality.psalm.PsalmConfigurationManager"/>
    <projectService
      serviceImplementation="com.jetbrains.php.tools.quality.psalm.PsalmConfigurationManager$PsalmProjectConfigurationManager"/>
    <globalInspection language="PHP" shortName="PsalmGlobal"
                      groupPath="PHP"
                      groupKey="inspection.group.name.quality.tools"
                      enabledByDefault="false"
                      level="WEAK WARNING"
                      implementationClass="com.jetbrains.php.tools.quality.psalm.PsalmGlobalInspection"
                      key="inspection.psalm.global.display.name" bundle="messages.PsalmBundle"/>
    <externalAnnotator language="PHP" implementationClass="com.jetbrains.php.tools.quality.psalm.PsalmAnnotatorProxy"/>
    <postStartupActivity implementation="com.jetbrains.php.tools.quality.psalm.PsalmSettingsTransferStartupActivity"/>
    <projectConfigurable instance="com.jetbrains.php.tools.quality.psalm.PsalmConfigurable"
                         bundle="messages.PsalmBundle"
                         key="configurable.quality.tool.psalm"
                         id="settings.php.quality.tools.psalm"
                         parentId="settings.php.quality.tools"
                         groupWeight="15"/>
  </extensions>

  <extensions defaultExtensionNs="com.jetbrains.php">
    <tools.quality.type implementation="com.jetbrains.php.tools.quality.psalm.PsalmQualityToolType"/>
    <composerConfigClient implementation="com.jetbrains.php.tools.quality.psalm.PsalmComposerConfig"/>
    <openSettingsProvider implementation="com.jetbrains.php.tools.quality.psalm.PsalmOpenSettingsProvider"/>
  </extensions>

  <extensionPoints>
    <!--suppress PluginXmlValidity -->
    <extensionPoint qualifiedName="com.jetbrains.php.tools.quality.Psalm.PsalmConfigurationProvider"
                    interface="com.jetbrains.php.tools.quality.psalm.PsalmConfigurationProvider"/>
  </extensionPoints>

  <actions>
    <action id="PsalmAddToIgnored"
            class="com.jetbrains.php.tools.quality.psalm.PsalmAddToIgnoredAction">
      <add-to-group group-id="PHPQualityToolsAddToIgnoredList"/>
    </action>
  </actions>
</idea-plugin>
