IDEA-269430 JSONPath: add Evaluate JSONPath action to editor context menu

GitOrigin-RevId: f32b426c13962502b8eb757a45d6620481b93250
This commit is contained in:
Yuriy Artamonov
2021-05-17 12:07:10 +03:00
committed by intellij-monorepo-bot
parent 7ffe5b5aa0
commit faf5aec2bb
2 changed files with 11 additions and 1 deletions

View File

@@ -1,9 +1,12 @@
// Copyright 2000-2021 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.intellij.jsonpath.ui
import com.intellij.json.JsonUtil
import com.intellij.json.psi.JsonFile
import com.intellij.openapi.actionSystem.ActionPlaces
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.project.DumbAwareAction
import com.intellij.psi.PsiDocumentManager
@@ -24,6 +27,12 @@ internal class JsonPathEvaluateAction : DumbAwareAction() {
}
override fun update(e: AnActionEvent) {
e.presentation.isEnabledAndVisible = e.project != null
if (e.place == ActionPlaces.EDITOR_POPUP) {
val editor = e.getData(CommonDataKeys.EDITOR)
val file = editor?.let { FileDocumentManager.getInstance().getFile(editor.document) }
e.presentation.isEnabledAndVisible = file != null && JsonUtil.isJsonFile(file, editor.project)
} else {
e.presentation.isEnabledAndVisible = e.project != null
}
}
}

View File

@@ -11,6 +11,7 @@
<action id="JsonPathEvaluateAction" class="com.intellij.jsonpath.ui.JsonPathEvaluateAction" icon="AllIcons.FileTypes.Json">
<add-to-group group-id="FindMenuGroup" anchor="after" relative-to-action="StructuralSearchActions" />
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
</action>
<action id="JsonPathExportEvaluateResultAction" class="com.intellij.jsonpath.ui.JsonPathExportEvaluateResultAction"