mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
[amper] AMPER-656 Don't show "Fill in all properties from JSON schema"
GitOrigin-RevId: dbb9f11880a2a8eb1db4a00c458f07071c553b2a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
eec4e7570a
commit
4b686de69e
@@ -194,6 +194,8 @@
|
||||
dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.json.jsonWidgetSuppressor"
|
||||
interface="com.jetbrains.jsonSchema.extension.JsonWidgetSuppressor" dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.json.jsonSchemaQuickFixSuppressor"
|
||||
interface="com.jetbrains.jsonSchema.extension.JsonSchemaQuickFixSuppressor" dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.json.jsonLiteralChecker" interface="com.intellij.json.codeinsight.JsonLiteralChecker"
|
||||
dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.json.catalog.exclusion"
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.jetbrains.jsonSchema.extension
|
||||
|
||||
import com.intellij.codeInsight.intention.IntentionAction
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.extensions.ExtensionPointName.Companion.create
|
||||
import com.intellij.psi.PsiFile
|
||||
|
||||
/**
|
||||
* Implement to suppress a JSON schema-related quick fix or intention action for your file
|
||||
* Currently supported actions to suppress are:
|
||||
* - AddOptionalPropertiesIntention
|
||||
*/
|
||||
interface JsonSchemaQuickFixSuppressor {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
val EXTENSION_POINT_NAME: ExtensionPointName<JsonSchemaQuickFixSuppressor> = create("com.intellij.json.jsonSchemaQuickFixSuppressor")
|
||||
}
|
||||
|
||||
fun shouldSuppressFix(file: PsiFile, quickFixClass: Class<out IntentionAction>): Boolean
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.createSmartPointer
|
||||
import com.intellij.psi.util.parentOfType
|
||||
import com.jetbrains.jsonSchema.extension.JsonLikeSyntaxAdapter
|
||||
import com.jetbrains.jsonSchema.extension.JsonSchemaQuickFixSuppressor
|
||||
import com.jetbrains.jsonSchema.impl.JsonCachedValues
|
||||
import com.jetbrains.jsonSchema.impl.JsonOriginalPsiWalker
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -39,6 +40,9 @@ open class AddOptionalPropertiesIntention : IntentionAction {
|
||||
|
||||
override fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean {
|
||||
val containingObject = findContainingObjectNode(editor, file) ?: return false
|
||||
if (JsonSchemaQuickFixSuppressor.EXTENSION_POINT_NAME.extensionList.any {
|
||||
it.shouldSuppressFix(file, AddOptionalPropertiesIntention::class.java)
|
||||
}) return false
|
||||
return JsonCachedValues.hasComputedSchemaObjectForFile(containingObject.containingFile)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user