diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-05-09 00:41:36 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-05-09 00:41:36 +0300 |
| commit | 1e30fa7ded9939fa45a45f82f84c1e8cd95d68aa (patch) | |
| tree | f2b60d48330937603a8b068dbb5a983be33d8fb8 /src/main/kotlin/me/kyren223/trident/actions/SelectAction.kt | |
| parent | 5da72c7ec98edfab7fbebc335e1a9fba116988a5 (diff) | |
Refactored a lot of the code and added a bunch of features and settings. Not finished yet but committing, so I can push to GitHub
Diffstat (limited to 'src/main/kotlin/me/kyren223/trident/actions/SelectAction.kt')
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/actions/SelectAction.kt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/kotlin/me/kyren223/trident/actions/SelectAction.kt b/src/main/kotlin/me/kyren223/trident/actions/SelectAction.kt new file mode 100644 index 0000000..37617c4 --- /dev/null +++ b/src/main/kotlin/me/kyren223/trident/actions/SelectAction.kt @@ -0,0 +1,44 @@ +package me.kyren223.trident.actions + +import com.intellij.openapi.actionSystem.AnAction +import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.actionSystem.PlatformDataKeys +import com.intellij.openapi.fileEditor.FileEditorManager +import me.kyren223.trident.utils.TridentList + +class SelectAction : AnAction() { + override fun actionPerformed(e: AnActionEvent) { + val project = e.project ?: return + var index = when (val actionId = e.actionManager.getId(this)) { + NEXT -> { + val file = e.getData(PlatformDataKeys.VIRTUAL_FILE) ?: return + val current = TridentList.getIndexOfFile(project, file) ?: return + current + 1 + } + + PREV -> { + val file = e.getData(PlatformDataKeys.VIRTUAL_FILE) ?: return + val current = TridentList.getIndexOfFile(project, file) ?: return + current - 1 + } + + else -> { + getIndex(actionId!!) + } + } + + val file = TridentList.select(project, index) ?: return + FileEditorManager.getInstance(project).openFile(file, true) + } + + private fun getIndex(actionId: String): Int { + return actionId.substring(SELECT.length).toInt() - 1 + } + + companion object { + const val NEXT = "TridentSelectNext" + const val PREV = "TridentSelectPrev" + const val SELECT = "TridentSelect" + } +} + |
