Extract method
This commit is contained in:
committed by
valentin
parent
19fb090f28
commit
f4924299dd
@@ -100,13 +100,12 @@ public class JetFunctionInsertHandler(val caretPosition : CaretPosition, val lam
|
|||||||
psiDocumentManager.doPostponedOperationsAndUnblockDocument(context.getDocument())
|
psiDocumentManager.doPostponedOperationsAndUnblockDocument(context.getDocument())
|
||||||
|
|
||||||
val startOffset = context.getStartOffset()
|
val startOffset = context.getStartOffset()
|
||||||
val element = context.getFile().findElementAt(startOffset)
|
val element = context.getFile().findElementAt(startOffset) ?: return
|
||||||
|
|
||||||
if (element != null) {
|
when {
|
||||||
if (PsiTreeUtil.getParentOfType(element, javaClass<JetImportDirective>()) != null) return
|
PsiTreeUtil.getParentOfType(element, javaClass<JetImportDirective>()) != null -> return
|
||||||
val parent = element.getParent()
|
|
||||||
val grandParent = parent?.getParent()
|
isInfixCall(element) -> {
|
||||||
if (parent is JetSimpleNameExpression && grandParent is JetBinaryExpression && parent == grandParent.getOperationReference()) { // infix call
|
|
||||||
if (context.getCompletionChar() == ' ') {
|
if (context.getCompletionChar() == ' ') {
|
||||||
context.setAddCompletionChar(false)
|
context.setAddCompletionChar(false)
|
||||||
}
|
}
|
||||||
@@ -115,12 +114,17 @@ public class JetFunctionInsertHandler(val caretPosition : CaretPosition, val lam
|
|||||||
context.getDocument().insertString(tailOffset, " ")
|
context.getDocument().insertString(tailOffset, " ")
|
||||||
context.getEditor().getCaretModel().moveToOffset(tailOffset + 1)
|
context.getEditor().getCaretModel().moveToOffset(tailOffset + 1)
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
addBrackets(context, element)
|
else -> addBrackets(context, element)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun isInfixCall(context: PsiElement): Boolean {
|
||||||
|
val parent = context.getParent()
|
||||||
|
val grandParent = parent?.getParent()
|
||||||
|
return parent is JetSimpleNameExpression && grandParent is JetBinaryExpression && parent == grandParent.getOperationReference()
|
||||||
|
}
|
||||||
|
|
||||||
private fun addBrackets(context : InsertionContext, offsetElement : PsiElement) {
|
private fun addBrackets(context : InsertionContext, offsetElement : PsiElement) {
|
||||||
if (context.getCompletionChar() == '(') { //TODO: more correct behavior related to braces type
|
if (context.getCompletionChar() == '(') { //TODO: more correct behavior related to braces type
|
||||||
context.setAddCompletionChar(false)
|
context.setAddCompletionChar(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user