Skip to content

Commit

Permalink
Update to Kotlin 1.0, fix formatting, clean up code
Browse files Browse the repository at this point in the history
  • Loading branch information
breandan committed Mar 4, 2016
1 parent 407b3e0 commit cc3a23a
Show file tree
Hide file tree
Showing 18 changed files with 97 additions and 138 deletions.
5 changes: 5 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/runConfigurations/runIdea.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions build.gradle
@@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.0.0-rc-1036'
ext.kotlin_version = '1.0.0'

repositories {
mavenCentral()
Expand Down Expand Up @@ -28,7 +28,7 @@ compileJava {
apply plugin: 'kotlin'

intellij {
version 'LATEST-EAP-SNAPSHOT'
version '144.3600.7'
plugins 'coverage'
pluginName 'AceJump'
}
Expand All @@ -42,4 +42,5 @@ repositories {

dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-runtime:$kotlin_version"
}
67 changes: 0 additions & 67 deletions src/main/java/com/johnlindquist/acejump/AceKeyUtil.java

This file was deleted.

8 changes: 4 additions & 4 deletions src/main/kotlin/com/johnlindquist/acejump/AceFinder.kt
Expand Up @@ -67,7 +67,7 @@ class AceFinder(val project: Project, val document: DocumentImpl, val editor: Ed


results = results!!.sortedWith(object : Comparator<Int?> {
override fun equals(p0: Any?): Boolean {
override fun equals(other: Any?): Boolean {
throw UnsupportedOperationException()
}

Expand Down Expand Up @@ -99,6 +99,7 @@ class AceFinder(val project: Project, val document: DocumentImpl, val editor: Ed
eventDispatcher?.multicaster?.stateChanged(ChangeEvent("AceFinder"));
});
}

fun findAllVisible(): List<Int> {
//System.out.println("----- findAllVisible");
val visualLineAtTopOfScreen = EditorHelper.getVisualLineAtTopOfScreen(editor)
Expand Down Expand Up @@ -148,8 +149,8 @@ class AceFinder(val project: Project, val document: DocumentImpl, val editor: Ed
}

fun checkForReset() {
if(startResult < 0) startResult = 0
if(endResult < allowedCount) endResult = allowedCount
if (startResult < 0) startResult = 0
if (endResult < allowedCount) endResult = allowedCount
}

fun addResultsReadyListener(changeListener: ChangeListener) {
Expand All @@ -159,5 +160,4 @@ class AceFinder(val project: Project, val document: DocumentImpl, val editor: Ed
fun getAllowedCharacters(): CharSequence? {
return ALLOWED_CHARACTERS
}

}
22 changes: 9 additions & 13 deletions src/main/kotlin/com/johnlindquist/acejump/AceJumpAction.kt
Expand Up @@ -18,7 +18,6 @@ import com.intellij.ui.popup.AbstractPopup
import com.johnlindquist.acejump.keycommands.*
import com.johnlindquist.acejump.ui.AceCanvas
import com.johnlindquist.acejump.ui.SearchBox
import java.awt.Color
import java.awt.Dimension
import java.awt.Font
import java.awt.Point
Expand All @@ -36,6 +35,7 @@ open class AceJumpAction() : DumbAwareAction() {
override fun update(e: AnActionEvent?) {
e?.presentation?.isEnabled = (e?.getData(CommonDataKeys.EDITOR)) != null
}

override fun actionPerformed(p0: AnActionEvent?) {
val actionEvent = p0
val project = actionEvent?.getData(CommonDataKeys.PROJECT) as Project
Expand All @@ -54,6 +54,7 @@ open class AceJumpAction() : DumbAwareAction() {
aceCanvas.jumpInfos = textPointPairs?.reversed()
aceCanvas.repaint()
}

fun exit() {
val contentComponent: JComponent? = editor.contentComponent
contentComponent?.remove(aceCanvas)
Expand Down Expand Up @@ -90,7 +91,7 @@ open class AceJumpAction() : DumbAwareAction() {
// if(iModGroup == 0) print("================\n")
val i1 = Math.floor(lenMinusGroups.toDouble() + ((i + groups.toInt()) / len)).toInt() - 1
if (i >= lenMinusGroups) {
str += letters.elementAt(i1)
str += letters.elementAt(i1)
str += letters.elementAt(iModGroup).toString()
} else {
str += letters.elementAt(i).toString()
Expand Down Expand Up @@ -148,7 +149,6 @@ open class AceJumpAction() : DumbAwareAction() {
defaultKeyCommand?.addListener(showJumpObserver)
searchBox.defaultKeyCommand = defaultKeyCommand


//todo: refactor - edge cases...
val pressedSemi: AceKeyCommand = ChangeToTargetMode(searchBox, aceFinder)
pressedSemi.addListener(showJumpObserver)
Expand All @@ -164,24 +164,20 @@ open class AceJumpAction() : DumbAwareAction() {
popup?.setRequestFocus(true);

val width = searchBox.getFontMetrics(font).stringWidth("w")
var dimension: Dimension? = null
if (width != null) {
dimension = Dimension(width * 2, (editor.lineHeight))
if (SystemInfo.isMac) {
dimension.setSize(dimension.width * 2, dimension.height * 2)
}

var dimension: Dimension = Dimension(width * 2, (editor.lineHeight))
if (SystemInfo.isMac) {
dimension.setSize(dimension.width * 2, dimension.height * 2)
}


popup?.size = dimension as Dimension
popup?.size = dimension
searchBox.popupContainer = popup
searchBox.size = dimension as Dimension
searchBox.size = dimension
searchBox.isFocusable = true
searchBox.addFocusListener(object : FocusListener {
override fun focusGained(p0: FocusEvent) {
addAceCanvas()
}

override fun focusLost(p0: FocusEvent) {
exit()
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/com/johnlindquist/acejump/AceJumper.kt
Expand Up @@ -24,9 +24,9 @@ open class AceJumper(var editor: EditorImpl, var document: DocumentImpl) {
var startWordOffset = Math.max(0, ranges[0].startOffset)
var endWordOffset = Math.min(ranges[0].endOffset, document.textLength)

/* if(ranges.size() == 2 && editor.getSelectionModel().getSelectionStart() == startWordOffset && editor.getSelectionModel().getSelectionEnd() == endWordOffset)
startWordOffset = Math.max(0, ranges.get(1).getStartOffset())
endWordOffset = Math.min(ranges.get(1).getEndOffset(), document.getTextLength())*/
/* if(ranges.size() == 2 && editor.getSelectionModel().getSelectionStart() == startWordOffset && editor.getSelectionModel().getSelectionEnd() == endWordOffset)
startWordOffset = Math.max(0, ranges.get(1).getStartOffset())
endWordOffset = Math.min(ranges.get(1).getEndOffset(), document.getTextLength())*/

editor.selectionModel.setSelection(startWordOffset, endWordOffset);
}
Expand Down
29 changes: 29 additions & 0 deletions src/main/kotlin/com/johnlindquist/acejump/AceUtil.kt
Expand Up @@ -14,3 +14,32 @@ fun getPointFromVisualPosition(editor: Editor, logicalPosition: VisualPosition):
var p: Point = editor.visualPositionToXY(VisualPosition(logicalPosition.line, logicalPosition.column))
return RelativePoint(editor.contentComponent, p)
}

/*todo: I hate this, but I keep debating whether I wanted to allow numbers and special chars in the "AllowedCharacters" set. Strict mapping to my USA keyboard :(*/
fun getLowerCaseStringFromChar(keyChar: Char): String {

val s = keyChar.toString()
when (s) {
"!" -> return "1"
"@" -> return "2"
"#" -> return "3"
"$" -> return "4"
"%" -> return "5"
"^" -> return "6"
"&" -> return "7"
"*" -> return "8"
"(" -> return "9"
")" -> return "0"
"_" -> return "-"
"+" -> return "="
"{" -> return "["
"}" -> return "]"
"|" -> return "\\"
":" -> return ";"
"<" -> return ","
">" -> return "."
"?" -> return "/"
}

return s.toLowerCase()
}
Expand Up @@ -9,7 +9,7 @@ abstract class AceKeyCommand {

abstract fun execute(keyEvent: KeyEvent)

fun addListener(changeListener: ChangeListener){
fun addListener(changeListener: ChangeListener) {
eventDispatcher?.addListener(changeListener);
}

Expand Down
Expand Up @@ -6,24 +6,21 @@ import java.awt.Color
import java.awt.event.KeyEvent
import javax.swing.event.ChangeListener

class ChangeToTargetMode(val searchBox: SearchBox, val aceFinder: AceFinder): AceKeyCommand() {
class ChangeToTargetMode(val searchBox: SearchBox, val aceFinder: AceFinder) : AceKeyCommand() {
override fun execute(keyEvent: KeyEvent) {
aceFinder.addResultsReadyListener(ChangeListener { p0 ->
eventDispatcher?.multicaster?.stateChanged(p0)
// eventDispatcher?.getMulticaster()?.stateChanged(ChangeEvent(toString()))
})

if(keyEvent.isMetaDown || keyEvent.isControlDown){
if(aceFinder.isTargetMode){
if (keyEvent.isMetaDown || keyEvent.isControlDown) {
if (aceFinder.isTargetMode) {
aceFinder.isTargetMode = false
searchBox.background = Color.WHITE
}else{
} else {
aceFinder.isTargetMode = true
searchBox.background = Color.RED
}
}
else{

}
}
}
Expand Up @@ -4,7 +4,7 @@ import com.johnlindquist.acejump.ui.AceCanvas
import com.johnlindquist.acejump.ui.SearchBox
import java.awt.event.KeyEvent

class ClearResults(val searchBox: SearchBox, val aceCanvas: AceCanvas): AceKeyCommand() {
class ClearResults(val searchBox: SearchBox, val aceCanvas: AceCanvas) : AceKeyCommand() {
override fun execute(keyEvent: KeyEvent) {
searchBox.text = "";
aceCanvas.clear()
Expand Down
Expand Up @@ -2,19 +2,19 @@ package com.johnlindquist.acejump.keycommands

import com.johnlindquist.acejump.AceFinder
import com.johnlindquist.acejump.AceJumper
import com.johnlindquist.acejump.AceKeyUtil
import com.johnlindquist.acejump.getLowerCaseStringFromChar
import com.johnlindquist.acejump.ui.SearchBox
import java.awt.event.KeyEvent
import java.util.*
import javax.swing.event.ChangeListener

class DefaultKeyCommand(val searchBox: SearchBox, val aceFinder: AceFinder, val aceJumper: AceJumper, val textAndOffsetHash: HashMap<String, Int>): AceKeyCommand() {
class DefaultKeyCommand(val searchBox: SearchBox, val aceFinder: AceFinder, val aceJumper: AceJumper, val textAndOffsetHash: HashMap<String, Int>) : AceKeyCommand() {
override fun execute(keyEvent: KeyEvent) {
val keyChar: Char = keyEvent.keyChar

//fixes the delete bug
if (keyChar == '\b') return
println(searchBox.isSearchEnabled)

//Find or jump
if (searchBox.isSearchEnabled) {
//Find
Expand All @@ -27,10 +27,10 @@ class DefaultKeyCommand(val searchBox: SearchBox, val aceFinder: AceFinder, val
searchBox.disableSearch()
} else {
//Jump to offset!
var char = AceKeyUtil.getLowerCaseStringFromChar(keyChar)
if(char == " ") return
var char = getLowerCaseStringFromChar(keyChar)
if (char == " ") return

if(aceFinder.firstChar != ""){
if (aceFinder.firstChar != "") {
char = aceFinder.firstChar + char
aceFinder.firstChar = ""
}
Expand All @@ -48,8 +48,7 @@ class DefaultKeyCommand(val searchBox: SearchBox, val aceFinder: AceFinder, val
if (aceFinder.isTargetMode) {
aceJumper.selectWordAtCaret()
}
}
else if(textAndOffsetHash.size > 25 && couldPossiblyMatch(char!!)){
} else if (textAndOffsetHash.size > 25 && couldPossiblyMatch(char)) {
aceFinder.firstChar = char
}

Expand Down
Expand Up @@ -5,7 +5,7 @@ import com.johnlindquist.acejump.ui.SearchBox
import java.awt.event.KeyEvent
import javax.swing.event.ChangeListener

class ShowBeginningOfLines(val searchBox: SearchBox, val aceFinder: AceFinder): AceKeyCommand() {
class ShowBeginningOfLines(val searchBox: SearchBox, val aceFinder: AceFinder) : AceKeyCommand() {
override fun execute(keyEvent: KeyEvent) {
aceFinder.addResultsReadyListener(ChangeListener { p0 ->
eventDispatcher?.multicaster?.stateChanged(p0)
Expand Down
Expand Up @@ -5,7 +5,7 @@ import com.johnlindquist.acejump.ui.SearchBox
import java.awt.event.KeyEvent
import javax.swing.event.ChangeListener

class ShowEndOfLines(val searchBox: SearchBox, val aceFinder: AceFinder): AceKeyCommand() {
class ShowEndOfLines(val searchBox: SearchBox, val aceFinder: AceFinder) : AceKeyCommand() {

override fun execute(keyEvent: KeyEvent) {
aceFinder.addResultsReadyListener(ChangeListener { p0 ->
Expand Down
Expand Up @@ -5,7 +5,7 @@ import com.johnlindquist.acejump.ui.SearchBox
import java.awt.event.KeyEvent
import javax.swing.event.ChangeListener

class ShowFirstCharOfLines(val searchBox: SearchBox, val aceFinder: AceFinder): AceKeyCommand() {
class ShowFirstCharOfLines(val searchBox: SearchBox, val aceFinder: AceFinder) : AceKeyCommand() {
override fun execute(keyEvent: KeyEvent) {
aceFinder.addResultsReadyListener(ChangeListener { p0 ->
eventDispatcher?.multicaster?.stateChanged(p0)
Expand Down
Expand Up @@ -5,7 +5,7 @@ import com.johnlindquist.acejump.ui.SearchBox
import java.awt.event.KeyEvent
import javax.swing.event.ChangeListener

class ShowWhiteSpace(val searchBox: SearchBox, val aceFinder: AceFinder): AceKeyCommand() {
class ShowWhiteSpace(val searchBox: SearchBox, val aceFinder: AceFinder) : AceKeyCommand() {
override fun execute(keyEvent: KeyEvent) {
aceFinder.addResultsReadyListener(ChangeListener { p0 ->
eventDispatcher?.multicaster?.stateChanged(p0)
Expand Down

0 comments on commit cc3a23a

Please sign in to comment.