mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
suppress json schema download for JSCS config, WEB-32613
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.jetbrains.jsonSchema.remote;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Disables JSON schema download from schema store for particular files.
|
||||
* Not intended to be used except to suppress JSON schema for JSCS
|
||||
*/
|
||||
@ApiStatus.Experimental
|
||||
public interface JsonSchemaCatalogExclusion {
|
||||
|
||||
ExtensionPointName<JsonSchemaCatalogExclusion> EP_NAME = ExtensionPointName.create("com.intellij.json.catalog.exclusion");
|
||||
|
||||
boolean isExcluded(@NotNull VirtualFile file);
|
||||
}
|
||||
@@ -50,6 +50,11 @@ public class JsonSchemaCatalogManager {
|
||||
@Nullable
|
||||
public VirtualFile getSchemaFileForFile(@NotNull VirtualFile file) {
|
||||
if (!myIsEnabled.get()) return null;
|
||||
for (JsonSchemaCatalogExclusion exclusion : JsonSchemaCatalogExclusion.EP_NAME.getExtensions()) {
|
||||
if (exclusion.isExcluded(file)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
String name = file.getName();
|
||||
if (myResolvedMappings.containsKey(name)) {
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
<extensionPoint qualifiedName="JavaScript.JsonSchema.ProviderFactory" interface="com.jetbrains.jsonSchema.extension.JsonSchemaProviderFactory"/>
|
||||
<extensionPoint qualifiedName="Json.Like.Psi.Walker.Factory" interface="com.jetbrains.jsonSchema.extension.JsonLikePsiWalkerFactory"/>
|
||||
<extensionPoint qualifiedName="com.intellij.json.jsonLiteralChecker" interface="com.intellij.json.codeinsight.JsonLiteralChecker"/>
|
||||
<extensionPoint qualifiedName="com.intellij.json.catalog.exclusion" interface="com.jetbrains.jsonSchema.remote.JsonSchemaCatalogExclusion"/>
|
||||
</extensionPoints>
|
||||
|
||||
</idea-plugin>
|
||||
Reference in New Issue
Block a user