summaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-02-22 22:34:10 +0200
committerKyren223 <ulmliad223@gmail.com>2024-02-22 22:34:10 +0200
commit02b1533ff4002f1015b9c26cf69256d821ddb6b1 (patch)
treea53ba1aed8abd703eb6c47164f1b5a553d3b09c0 /src/main/kotlin
parent883fd7f58b2ef0254cb3c3fa79cc24f6dcdf9efd (diff)
Rebranded to "Trident"
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/me/kyren223/harpoonforjb/HarpoonQuickMenuSelectAction.kt14
-rw-r--r--src/main/kotlin/me/kyren223/harpoonforjb/SettingsData.kt58
-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.kt58
-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.kt11
-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
}