mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +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"/>
|
dynamic="true"/>
|
||||||
<extensionPoint qualifiedName="com.intellij.json.jsonWidgetSuppressor"
|
<extensionPoint qualifiedName="com.intellij.json.jsonWidgetSuppressor"
|
||||||
interface="com.jetbrains.jsonSchema.extension.JsonWidgetSuppressor" dynamic="true"/>
|
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"
|
<extensionPoint qualifiedName="com.intellij.json.jsonLiteralChecker" interface="com.intellij.json.codeinsight.JsonLiteralChecker"
|
||||||
dynamic="true"/>
|
dynamic="true"/>
|
||||||
<extensionPoint qualifiedName="com.intellij.json.catalog.exclusion"
|
<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.createSmartPointer
|
||||||
import com.intellij.psi.util.parentOfType
|
import com.intellij.psi.util.parentOfType
|
||||||
import com.jetbrains.jsonSchema.extension.JsonLikeSyntaxAdapter
|
import com.jetbrains.jsonSchema.extension.JsonLikeSyntaxAdapter
|
||||||
|
import com.jetbrains.jsonSchema.extension.JsonSchemaQuickFixSuppressor
|
||||||
import com.jetbrains.jsonSchema.impl.JsonCachedValues
|
import com.jetbrains.jsonSchema.impl.JsonCachedValues
|
||||||
import com.jetbrains.jsonSchema.impl.JsonOriginalPsiWalker
|
import com.jetbrains.jsonSchema.impl.JsonOriginalPsiWalker
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -39,6 +40,9 @@ open class AddOptionalPropertiesIntention : IntentionAction {
|
|||||||
|
|
||||||
override fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean {
|
override fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean {
|
||||||
val containingObject = findContainingObjectNode(editor, file) ?: return false
|
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)
|
return JsonCachedValues.hasComputedSchemaObjectForFile(containingObject.containingFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user