1
0
mirror of https://github.com/chylex/IntelliJ-AceJump.git synced 2025-04-09 17:15:43 +02:00

[WIP] Replace 'Caret to...' sub-menu with Shift modifier for selection-based modes

This commit is contained in:
chylex 2021-01-04 22:24:38 +01:00
parent 8891fd562a
commit 31cfbcc940
5 changed files with 15 additions and 13 deletions

View File

@ -22,7 +22,7 @@ internal abstract class AbstractNavigableMode : SessionMode {
return TypeResult.EndSession
}
val mode = modeMap[charTyped.toUpperCase()]
val mode = modeMap[charTyped] ?: modeMap[charTyped.toLowerCase()]
if (mode != null) {
return TypeResult.ChangeMode(mode())
}

View File

@ -14,5 +14,5 @@ internal abstract class AbstractSelectionBasedMode : AbstractNavigableMode() {
override val actionHint
get() = SelectMode.actionHint
protected abstract fun wrap(action: AceTagAction): AceTagAction
abstract fun wrap(action: AceTagAction): AceTagAction
}

View File

@ -17,12 +17,17 @@ internal object DefaultMode : AbstractNavigableMode() {
)
override val modeMap = mapOf(
'S' to { SelectMode },
'X' to { CutMode },
'C' to { CopyMode },
'P' to { PasteAtMode },
'O' to { PasteOverMode },
'D' to { DeleteMode }
's' to { SelectMode },
'S' to { SelectToCaretMode() },
'x' to { CutMode },
'X' to { SelectToCaretMode(CutMode::wrap) },
'c' to { CopyMode },
'C' to { SelectToCaretMode(CopyMode::wrap) },
'p' to { PasteAtMode },
'o' to { PasteOverMode },
'O' to { SelectToCaretMode(PasteOverMode::wrap) },
'd' to { DeleteMode },
'D' to { SelectToCaretMode(DeleteMode::wrap) }
)
override val caretColor

View File

@ -12,9 +12,7 @@ internal object SelectMode : AbstractNavigableMode() {
*('1'..'9').mapIndexed { index, char -> char to AceTagAction.SelectExtended(index + 1) }.toTypedArray()
)
override val modeMap = mapOf(
'C' to { SelectToCaretMode { it } }
)
override val modeMap = emptyMap<Char, () -> SelectToCaretMode>()
override val caretColor
get() = AceConfig.singleCaretModeColor
@ -22,7 +20,6 @@ internal object SelectMode : AbstractNavigableMode() {
override val actionHint = arrayOf(
"<f>[Q]</f>uery / <f>[L]</f>ine",
"<f>[W]</f>ord / <f>[H]</f>ump",
"<f>[C]</f>aret to...",
"<f>[1-9]</f> Extend Selection"
)
}

View File

@ -4,7 +4,7 @@ import org.acejump.action.AceTagAction
import org.acejump.config.AceConfig
import org.acejump.session.SessionMode
internal class SelectToCaretMode(private val wrapper: (AceTagAction) -> AceTagAction) : AbstractNavigableMode() {
internal class SelectToCaretMode(private val wrapper: (AceTagAction) -> AceTagAction = { it }) : AbstractNavigableMode() {
override val actionMap = mapOf(
'J' to AceTagAction.JumpToSearchStart,
'K' to AceTagAction.JumpToSearchEnd,