<idea-plugin>
  <dependencies>
    <!--suppress PluginXmlValidity -->
    <module name="code-insight-core"/>
    <module name="intellij.json.backend"/>
    <plugin id="org.jetbrains.plugins.yaml"/>
  </dependencies>

  <extensions defaultExtensionNs="JavaScript">
    <JsonSchema.ProviderFactory implementation="com.jetbrains.edu.yaml.EduYamlSchemaProviderFactory"/>
  </extensions>

  <extensions defaultExtensionNs="Educational">
    <yamlActionsHelper implementation="com.jetbrains.edu.yaml.YamlActionsHelperImpl"/>
    <navigateToConfigEntryForEduFile implementation="com.jetbrains.edu.yaml.NavigateToConfigEntryForEduFileInYAML"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <completion.contributor implementationClass="com.jetbrains.edu.yaml.EduYamlCompletionContributor"
                            language="yaml" order="first, before YamlJsonSchema"/>
    <psi.referenceContributor language="yaml"
                              implementation="com.jetbrains.edu.yaml.EduYamlReferenceContributor"/>

    <localInspection language="yaml"
                     groupBundle="messages.EduCoreBundle"
                     groupKey="inspection.yaml.group.key"
                     groupPathKey="inspection.group.path.key"
                     enabledByDefault="true"
                     level="ERROR"
                     implementationClass="com.jetbrains.edu.yaml.inspections.TaskFileNotFoundInspection"
                     key="inspection.task.file.not.found.display.name"
                     bundle="messages.EduYAMLBundle"/>

    <localInspection language="yaml"
                     groupBundle="messages.EduCoreBundle"
                     groupKey="inspection.yaml.group.key"
                     groupPathKey="inspection.group.path.key"
                     enabledByDefault="true"
                     level="ERROR"
                     implementationClass="com.jetbrains.edu.yaml.inspections.AdditionalFileNotFoundInspection"
                     key="inspection.additional.file.not.found.display.name"
                     bundle="messages.EduYAMLBundle"/>

    <localInspection language="yaml"
                     groupBundle="messages.EduCoreBundle"
                     groupKey="inspection.yaml.group.key"
                     groupPathKey="inspection.group.path.key"
                     enabledByDefault="true"
                     level="ERROR"
                     implementationClass="com.jetbrains.edu.yaml.inspections.UnsupportedLanguageVersionInspection"
                     key="inspection.unsupported.programming.language.display.name"
                     bundle="messages.EduYAMLBundle"/>

    <localInspection language="yaml"
                     groupBundle="messages.EduCoreBundle"
                     groupKey="inspection.yaml.group.key"
                     groupPathKey="inspection.group.path.key"
                     enabledByDefault="true"
                     level="ERROR"
                     implementationClass="com.jetbrains.edu.yaml.inspections.DuplicateAdditionalFilesInspection"
                     key="inspection.duplicate.additional.file.display.name"
                     bundle="messages.EduYAMLBundle"/>

    <localInspection language="yaml"
                     groupBundle="messages.EduCoreBundle"
                     groupKey="inspection.yaml.group.key"
                     groupPathKey="inspection.group.path.key"
                     enabledByDefault="true"
                     level="ERROR"
                     implementationClass="com.jetbrains.edu.yaml.inspections.StudyItemNotFoundInspection"
                     key="inspection.study.item.not.found.display.name"
                     bundle="messages.EduYAMLBundle"/>
  </extensions>
</idea-plugin>
