⁠
joe: Start on annotater editor
- /*
- * Minecraft Development for IntelliJ
- *
- * https://mcdev.io/
- *
- * Copyright (C) 2026 minecraft-dev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation, version 3.0 only.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
- package com.demonwav.mcdev.platform.fabric.annotater.javadoc
-
- import com.demonwav.mcdev.asset.MCDevBundle
- import com.intellij.codeInsight.intention.IntentionAction
- import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo
- import com.intellij.openapi.editor.Editor
- import com.intellij.openapi.project.Project
- import com.intellij.psi.PsiFile
-
- class EditAnnotaterJavadocIntention : IntentionAction {
- override fun getText() = MCDevBundle("fabric.annotater.javadoc.edit")
-
- override fun getFamilyName() = text
-
- override fun startInWriteAction() = false
-
- override fun isAvailable(project: Project, editor: Editor?, file: PsiFile?): Boolean {
- if (editor == null || file == null || !AnnotaterJavadocEditing.isOffered(project)) {
- return false
- }
- return AnnotaterJavadocEditing.findTarget(editor, file) != null
- }
-
- override fun invoke(project: Project, editor: Editor?, file: PsiFile?) {
- if (editor == null || file == null) {
- return
- }
- AnnotaterJavadocEditing.edit(project, editor, file)
- }
-
- override fun generatePreview(project: Project, editor: Editor, file: PsiFile): IntentionPreviewInfo =
- IntentionPreviewInfo.EMPTY
- }