diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-02-22 22:34:10 +0200 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-02-22 22:34:10 +0200 |
| commit | 02b1533ff4002f1015b9c26cf69256d821ddb6b1 (patch) | |
| tree | a53ba1aed8abd703eb6c47164f1b5a553d3b09c0 /src/main/kotlin/me | |
| parent | 883fd7f58b2ef0254cb3c3fa79cc24f6dcdf9efd (diff) | |
Rebranded to "Trident"
Diffstat (limited to 'src/main/kotlin/me')
| -rw-r--r-- | src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenuSelectAction.kt | 14 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/harpoonforjb/SettingsData.kt | 58 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/AppSettingsConfigurable.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsConfigurable.kt) | 28 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/AppSettingsState.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt) | 12 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/SettingsData.kt | 58 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/TridentAppendAction.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/HarpoonAppendAction.kt) | 6 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/TridentQuickMenu.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenu.kt) | 16 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/TridentQuickMenuSelectAction.kt | 11 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/TridentSelectAction.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/HarpoonSelectAction.kt) | 21 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/TridentState.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt) | 22 | ||||
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt (renamed from src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt) | 12 |
11 files changed, 123 insertions, 135 deletions
diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenuSelectAction.kt b/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenuSelectAction.kt deleted file mode 100644 index 8ba8c6c..0000000 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenuSelectAction.kt +++ /dev/null @@ -1,14 +0,0 @@ -package me.kyren223.harpoonforjb - -import com.intellij.openapi.actionSystem.AnAction -import com.intellij.openapi.actionSystem.AnActionEvent -import com.maddyhome.idea.vim.api.injector -import com.maddyhome.idea.vim.command.MappingMode -import com.maddyhome.idea.vim.key.MappingOwner.Plugin.Companion.get - -class HarpoonQuickMenuSelectAction : AnAction() { - override fun actionPerformed(e: AnActionEvent) { - HarpoonState.quickMenuSelect() - } - -} diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/SettingsData.kt b/src/main/kotlin/me/kyren223/harpoonforjb/SettingsData.kt deleted file mode 100644 index 3e0c60f..0000000 --- a/src/main/kotlin/me/kyren223/harpoonforjb/SettingsData.kt +++ /dev/null @@ -1,58 +0,0 @@ -package me.kyren223.harpoonforjb - -import com.intellij.ui.JBIntSpinner -import com.intellij.ui.components.JBCheckBox -import com.intellij.ui.components.JBLabel -import com.intellij.util.ui.FormBuilder -import javax.swing.JPanel - -class SettingsData { - - val panel: JPanel - private val harpoonWidth: JBIntSpinner = JBIntSpinner(800, 1, 5000, 10) - private val harpoonHeight: JBIntSpinner = JBIntSpinner(400, 1, 5000, 10) - private val harpoonFontSize: JBIntSpinner = JBIntSpinner(20, 1, 100) - private val harpoonEnter: JBCheckBox = JBCheckBox() - - init { - panel = FormBuilder.createFormBuilder() - .addLabeledComponent(JBLabel("Harpoon width"), harpoonWidth, 1, false) - .addLabeledComponent(JBLabel("Harpoon height"), harpoonHeight, 1, false) - .addLabeledComponent(JBLabel("Harpoon font size"), harpoonFontSize, 1, false) - .addLabeledComponent(JBLabel("Press enter to select item in the QuickMenu"), harpoonEnter, 1, false) - .addComponentFillVertically(JPanel(), 0) - .panel - } - - fun getHarpoonWidth(): Int { - return harpoonWidth.number - } - - fun getHarpoonHeight(): Int { - return harpoonHeight.number - } - - fun getHarpoonFontSize(): Int { - return harpoonFontSize.number - } - - fun getHarpoonEnterToSelect(): Boolean { - return harpoonEnter.isSelected - } - - fun setHarpoonWidth(width: Int) { - harpoonWidth.number = width - } - - fun setHarpoonHeight(height: Int) { - harpoonHeight.number = height - } - - fun setHarpoonFontSize(fontSize: Int) { - harpoonFontSize.number = fontSize - } - - fun setHarpoonEnterToSelect(enter: Boolean) { - harpoonEnter.isSelected = enter - } -} diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsConfigurable.kt b/src/main/kotlin/me/kyren223/trident/AppSettingsConfigurable.kt index 4ece20e..e04b3b8 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsConfigurable.kt +++ b/src/main/kotlin/me/kyren223/trident/AppSettingsConfigurable.kt @@ -1,5 +1,5 @@ // Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.openapi.options.Configurable import com.intellij.openapi.util.NlsContexts.ConfigurableName @@ -8,7 +8,7 @@ import javax.swing.JComponent class AppSettingsConfigurable : Configurable { private var settings: SettingsData? = null override fun getDisplayName(): @ConfigurableName String { - return "HarpoonForJB Settings" + return "Trident Settings" } override fun createComponent(): JComponent { @@ -18,19 +18,19 @@ class AppSettingsConfigurable : Configurable { override fun isModified(): Boolean { val settings = AppSettingsState.instance - if (settings.harpoonWidth != this.settings!!.getHarpoonWidth()) return true - if (settings.harpoonHeight != this.settings!!.getHarpoonHeight()) return true - if (settings.harpoonFontSize != this.settings!!.getHarpoonFontSize()) return true - if (settings.harpoonEnterToSelect != this.settings!!.getHarpoonEnterToSelect()) return true + if (settings.width != this.settings!!.getWidth()) return true + if (settings.height != this.settings!!.getHeight()) return true + if (settings.fontSize != this.settings!!.getFontSize()) return true + if (settings.enterToSelect != this.settings!!.getEnterToSelect()) return true return false } override fun apply() { val settings = AppSettingsState.instance - settings.harpoonWidth = this.settings!!.getHarpoonWidth() - settings.harpoonHeight = this.settings!!.getHarpoonHeight() - settings.harpoonFontSize = this.settings!!.getHarpoonFontSize() - settings.harpoonEnterToSelect = this.settings!!.getHarpoonEnterToSelect() + settings.width = this.settings!!.getWidth() + settings.height = this.settings!!.getHeight() + settings.fontSize = this.settings!!.getFontSize() + settings.enterToSelect = this.settings!!.getEnterToSelect() } override fun reset() { @@ -38,10 +38,10 @@ class AppSettingsConfigurable : Configurable { if (this.settings == null) { this.settings = SettingsData() } - this.settings!!.setHarpoonWidth(settings.harpoonWidth) - this.settings!!.setHarpoonHeight(settings.harpoonHeight) - this.settings!!.setHarpoonFontSize(settings.harpoonFontSize) - this.settings!!.setHarpoonEnterToSelect(settings.harpoonEnterToSelect) + this.settings!!.setWidth(settings.width) + this.settings!!.setHeight(settings.height) + this.settings!!.setFontSize(settings.fontSize) + this.settings!!.setEnterToSelect(settings.enterToSelect) } override fun disposeUIResources() { diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt b/src/main/kotlin/me/kyren223/trident/AppSettingsState.kt index ea3eabd..6d61ea0 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt +++ b/src/main/kotlin/me/kyren223/trident/AppSettingsState.kt @@ -1,4 +1,4 @@ -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.components.PersistentStateComponent @@ -7,13 +7,13 @@ import com.intellij.openapi.components.Storage import com.intellij.util.xmlb.XmlSerializerUtil // Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -@State(name = "me.kyren223.harpoonforjb.AppSettingsState", storages = [Storage("SdkSettingsPlugin.xml")]) +@State(name = "me.kyren223.trident.AppSettingsState", storages = [Storage("SdkSettingsPlugin.xml")]) class AppSettingsState : PersistentStateComponent<AppSettingsState?> { - var harpoonEnterToSelect = true - var harpoonWidth = 800 - var harpoonHeight = 400 - var harpoonFontSize = 20 + var enterToSelect = true + var width = 800 + var height = 400 + var fontSize = 20 override fun getState(): AppSettingsState { return this diff --git a/src/main/kotlin/me/kyren223/trident/SettingsData.kt b/src/main/kotlin/me/kyren223/trident/SettingsData.kt new file mode 100644 index 0000000..89ca91a --- /dev/null +++ b/src/main/kotlin/me/kyren223/trident/SettingsData.kt @@ -0,0 +1,58 @@ +package me.kyren223.trident + +import com.intellij.ui.JBIntSpinner +import com.intellij.ui.components.JBCheckBox +import com.intellij.ui.components.JBLabel +import com.intellij.util.ui.FormBuilder +import javax.swing.JPanel + +class SettingsData { + + val panel: JPanel + private val width: JBIntSpinner = JBIntSpinner(800, 1, 5000, 10) + private val height: JBIntSpinner = JBIntSpinner(400, 1, 5000, 10) + private val fontSize: JBIntSpinner = JBIntSpinner(20, 1, 100) + private val enterToSelect: JBCheckBox = JBCheckBox() + + init { + panel = FormBuilder.createFormBuilder() + .addLabeledComponent(JBLabel("QuickMenu width"), width, 1, false) + .addLabeledComponent(JBLabel("QuickMenu height"), height, 1, false) + .addLabeledComponent(JBLabel("QuickMenu font size"), fontSize, 1, false) + .addLabeledComponent(JBLabel("Enter to select item in the QuickMenu"), enterToSelect, 1, false) + .addComponentFillVertically(JPanel(), 0) + .panel + } + + fun getWidth(): Int { + return width.number + } + + fun getHeight(): Int { + return height.number + } + + fun getFontSize(): Int { + return fontSize.number + } + + fun getEnterToSelect(): Boolean { + return enterToSelect.isSelected + } + + fun setWidth(width: Int) { + this.width.number = width + } + + fun setHeight(height: Int) { + this.height.number = height + } + + fun setFontSize(fontSize: Int) { + this.fontSize.number = fontSize + } + + fun setEnterToSelect(enter: Boolean) { + this.enterToSelect.isSelected = enter + } +} diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonAppendAction.kt b/src/main/kotlin/me/kyren223/trident/TridentAppendAction.kt index 724f6c8..621b9cd 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonAppendAction.kt +++ b/src/main/kotlin/me/kyren223/trident/TridentAppendAction.kt @@ -1,4 +1,4 @@ -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent @@ -6,10 +6,10 @@ import com.intellij.openapi.actionSystem.PlatformDataKeys import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile -class HarpoonAppendAction : AnAction() { +class TridentAppendAction : AnAction() { override fun actionPerformed(e: AnActionEvent) { val project: Project = e.project ?: return val file: VirtualFile = e.getData(PlatformDataKeys.VIRTUAL_FILE) ?: return - HarpoonState.appendFile(project, file) + TridentState.appendFile(project, file) } } diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenu.kt b/src/main/kotlin/me/kyren223/trident/TridentQuickMenu.kt index 3417d7c..e7903e0 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenu.kt +++ b/src/main/kotlin/me/kyren223/trident/TridentQuickMenu.kt @@ -1,6 +1,6 @@ @file:Suppress("SameParameterValue") -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.openapi.editor.LogicalPosition import com.intellij.openapi.ui.DialogWrapper @@ -14,13 +14,13 @@ import java.awt.event.FocusEvent import java.awt.event.FocusListener import javax.swing.JComponent -class HarpoonQuickMenu(private val content: String) : DialogWrapper(true) { +class TridentQuickMenu(private val content: String) : DialogWrapper(true) { private lateinit var editorTextField: EditorTextField init { val settings = AppSettingsState.instance - this.title = "Harpoon Quick Menu" - setSize(settings.harpoonWidth, settings.harpoonHeight) + this.title = "Trident Quick Menu" + setSize(settings.width, settings.height) super.init() } @@ -29,7 +29,7 @@ class HarpoonQuickMenu(private val content: String) : DialogWrapper(true) { editorTextField = EditorTextField(this.content) editorTextField.setOneLineMode(false) editorTextField.addSettingsProvider { - it.setFontSize(settings.harpoonFontSize) + it.setFontSize(settings.fontSize) it.isInsertMode = true it.caretModel.moveToLogicalPosition(LogicalPosition(0, 0)) it.settings.isLineNumbersShown = true @@ -58,17 +58,17 @@ class HarpoonQuickMenu(private val content: String) : DialogWrapper(true) { fun select() { if (this.editorTextField.editor == null) return - HarpoonState.quickMenuSelectedIndex = this.editorTextField.editor!!.caretModel.logicalPosition.line + TridentState.quickMenuSelectedIndex = this.editorTextField.editor!!.caretModel.logicalPosition.line doOKAction() } override fun doOKAction() { - HarpoonState.quickMenuContent = editorTextField.text + TridentState.quickMenuContent = editorTextField.text super.doOKAction() } override fun doCancelAction() { - HarpoonState.quickMenuContent = editorTextField.text + TridentState.quickMenuContent = editorTextField.text super.doCancelAction() } diff --git a/src/main/kotlin/me/kyren223/trident/TridentQuickMenuSelectAction.kt b/src/main/kotlin/me/kyren223/trident/TridentQuickMenuSelectAction.kt new file mode 100644 index 0000000..f9db35a --- /dev/null +++ b/src/main/kotlin/me/kyren223/trident/TridentQuickMenuSelectAction.kt @@ -0,0 +1,11 @@ +package me.kyren223.trident + +import com.intellij.openapi.actionSystem.AnAction +import com.intellij.openapi.actionSystem.AnActionEvent + +class TridentQuickMenuSelectAction : AnAction() { + override fun actionPerformed(e: AnActionEvent) { + TridentState.quickMenuSelect() + } + +} diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonSelectAction.kt b/src/main/kotlin/me/kyren223/trident/TridentSelectAction.kt index 3c196b8..3122650 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonSelectAction.kt +++ b/src/main/kotlin/me/kyren223/trident/TridentSelectAction.kt @@ -1,22 +1,21 @@ -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.PlatformDataKeys import com.intellij.openapi.fileEditor.FileEditorManager -class HarpoonSelectAction : AnAction() { +class TridentSelectAction : AnAction() { override fun actionPerformed(e: AnActionEvent) { val project = e.project ?: return - val actionId = e.actionManager.getId(this) - var index = when (actionId) { + var index = when (val actionId = e.actionManager.getId(this)) { NEXT -> { - val current = HarpoonState.getIndexOfFile(project, e.getData(PlatformDataKeys.VIRTUAL_FILE)) + val current = TridentState.getIndexOfFile(project, e.getData(PlatformDataKeys.VIRTUAL_FILE)) if (current == -1) return current + 1 } PREV -> { - val current = HarpoonState.getIndexOfFile(project, e.getData(PlatformDataKeys.VIRTUAL_FILE)) + val current = TridentState.getIndexOfFile(project, e.getData(PlatformDataKeys.VIRTUAL_FILE)) if (current == -1) return current - 1 } @@ -25,9 +24,9 @@ class HarpoonSelectAction : AnAction() { } } - val count = HarpoonState.getFileCount(project) + val count = TridentState.getFileCount(project) index = ((index % count) + count) % count - val file = HarpoonState.selectFile(project, index) ?: return + val file = TridentState.selectFile(project, index) ?: return FileEditorManager.getInstance(project).openFile(file, true) } @@ -36,9 +35,9 @@ class HarpoonSelectAction : AnAction() { } companion object { - const val NEXT = "HarpoonSelectNext" - const val PREV = "HarpoonSelectPrev" - const val SELECT = "HarpoonSelect" + const val NEXT = "TridentSelectNext" + const val PREV = "TridentSelectPrev" + const val SELECT = "TridentSelect" } } diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt b/src/main/kotlin/me/kyren223/trident/TridentState.kt index 3b476c2..7c60d4b 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt +++ b/src/main/kotlin/me/kyren223/trident/TridentState.kt @@ -1,4 +1,4 @@ -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.ide.util.PropertiesComponent import com.intellij.openapi.fileEditor.FileEditorManager @@ -6,14 +6,13 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.LocalFileSystem import com.intellij.openapi.vfs.VirtualFile -object HarpoonState { +object TridentState { private var projectFiles: MutableMap<String, MutableList<VirtualFile>> = mutableMapOf() - private const val HARPOON_LIST_KEY = "HarpoonList" - private var quickMenu: HarpoonQuickMenu? = null + private const val TRIDENT_LIST_KEY = "TridentList" + private var quickMenu: TridentQuickMenu? = null var quickMenuSelectedIndex: Int? = null var quickMenuContent: String? = "" - fun appendFile(project: Project, file: VirtualFile) { if (!file.isValid) return loadProject(project) @@ -33,7 +32,7 @@ object HarpoonState { private fun loadProject(project: Project) { if (project.name in projectFiles) return val properties = PropertiesComponent.getInstance(project) - val list = properties.getList(HARPOON_LIST_KEY) + val list = properties.getList(TRIDENT_LIST_KEY) if (list == null) { projectFiles[project.name] = mutableListOf() return @@ -56,7 +55,7 @@ object HarpoonState { .filter { it.isValid } .map { it.path } .toList() - properties.setList(HARPOON_LIST_KEY, stringList) + properties.setList(TRIDENT_LIST_KEY, stringList) } fun getIndexOfFile(project: Project, data: VirtualFile?): Int { @@ -73,24 +72,17 @@ object HarpoonState { fun toggleQuickMenu(project: Project) { if (quickMenu != null && quickMenu!!.isShowing) { - println("Canceling quick menu") quickMenu!!.doCancelAction() return } loadProject(project) val content = getProjectContent(project) - quickMenu = HarpoonQuickMenu(content) + quickMenu = TridentQuickMenu(content) val result = quickMenu!!.showAndGet() if (quickMenuContent != null && content != quickMenuContent) { - // Update the content -// println("Content Before:\n${quickMenuContent}") retrieveProjectFiles(project, quickMenuContent!!) -// val contentAfter = projectFiles[project.name]!! -// .joinToString("\n") { it.path } -// .trim() -// println("Content After:\n${contentAfter}") saveProject(project) } diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt b/src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt index 66e58b0..a3f8cc7 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt +++ b/src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt @@ -1,4 +1,4 @@ -package me.kyren223.harpoonforjb +package me.kyren223.trident import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent @@ -6,21 +6,21 @@ import com.maddyhome.idea.vim.api.injector import com.maddyhome.idea.vim.command.MappingMode import com.maddyhome.idea.vim.key.MappingOwner -class HarpoonToggleQuickMenuAction : AnAction() { +class TridentToggleQuickMenuAction : AnAction() { override fun actionPerformed(e: AnActionEvent) { if (!remapped) remap() if (e.project != null) { - HarpoonState.toggleQuickMenu(e.project!!) + TridentState.toggleQuickMenu(e.project!!) } } private fun remap() { - if (!AppSettingsState.instance.harpoonEnterToSelect) return - val keys = injector.parser.parseKeys(":action HarpoonQuickMenuSelect<cr>") + if (!AppSettingsState.instance.enterToSelect) return + val keys = injector.parser.parseKeys(":action TridentQuickMenuSelect<cr>") val keyGroup = injector.keyGroup keyGroup.putKeyMapping(MappingMode.NVO, injector.parser.parseKeys("<cr>"), - MappingOwner.Plugin.get("HarpoonForJB"), keys, false + MappingOwner.Plugin.get("Trident"), keys, false ) remapped = true } |
