<!--
  ~ Copyright (C) 2023 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<idea-plugin>
  <extensions defaultExtensionNs="org.jetbrains.kotlin">
    <quickFixContributor implementation="com.android.tools.compose.intentions.ComposeUnresolvedFunctionFixContributor"/>
    <quickFixContributor implementation="com.android.tools.compose.intentions.AddComposableAnnotationQuickFix$Contributor"/>

    <!-- Compose compiler plugin -->
    <irGenerationExtension implementation="com.android.tools.compose.ComposePluginIrGenerationExtension"/>

    <storageComponentContainerContributor implementation="androidx.compose.compiler.plugins.kotlin.k1.ComposableCallChecker"/>
    <storageComponentContainerContributor implementation="androidx.compose.compiler.plugins.kotlin.k1.ComposableDeclarationChecker"/>
    <diagnosticSuppressor implementation="androidx.compose.compiler.plugins.kotlin.k1.ComposeDiagnosticSuppressor"/>

    <additionalExtractableAnalyser implementation="com.android.tools.compose.ComposableFunctionExtractableAnalyser"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <!-- b/266912797: KDockLinkResolutionService extension point not implemented in K2 -->
    <projectService serviceInterface="org.jetbrains.kotlin.idea.kdoc.KDocLinkResolutionService"
                    serviceImplementation="com.android.tools.compose.ComposeKDocLinkResolutionService"
                    overrides="true"
    />

    <intentionAction>
      <className>com.android.tools.compose.intentions.ComposeCreatePreviewActionK1</className>
      <category>Compose Android</category>
    </intentionAction>
  </extensions>
</idea-plugin>
