Correct context element for watches
This commit is contained in:
@@ -50,7 +50,7 @@ class KotlinCodeFragmentFactory: CodeFragmentFactory() {
|
|||||||
|
|
||||||
override fun isContextAccepted(contextElement: PsiElement?): Boolean {
|
override fun isContextAccepted(contextElement: PsiElement?): Boolean {
|
||||||
if (contextElement is PsiCodeBlock) {
|
if (contextElement is PsiCodeBlock) {
|
||||||
return contextElement.getContext()?.getContext()?.getLanguage() == JetFileType.INSTANCE.getLanguage()
|
return isContextAccepted(contextElement.getContext())
|
||||||
}
|
}
|
||||||
return contextElement?.getLanguage() == JetFileType.INSTANCE.getLanguage()
|
return contextElement?.getLanguage() == JetFileType.INSTANCE.getLanguage()
|
||||||
}
|
}
|
||||||
@@ -63,6 +63,10 @@ class KotlinCodeFragmentFactory: CodeFragmentFactory() {
|
|||||||
fun getContextElement(elementAt: PsiElement?): PsiElement? {
|
fun getContextElement(elementAt: PsiElement?): PsiElement? {
|
||||||
if (elementAt == null) return null
|
if (elementAt == null) return null
|
||||||
|
|
||||||
|
if (elementAt is PsiCodeBlock) {
|
||||||
|
return getContextElement(elementAt.getContext())
|
||||||
|
}
|
||||||
|
|
||||||
val expressionAtOffset = PsiTreeUtil.findElementOfClassAtOffset(elementAt.getContainingFile()!!, elementAt.getTextOffset(), javaClass<JetExpression>(), false)
|
val expressionAtOffset = PsiTreeUtil.findElementOfClassAtOffset(elementAt.getContainingFile()!!, elementAt.getTextOffset(), javaClass<JetExpression>(), false)
|
||||||
if (expressionAtOffset != null) {
|
if (expressionAtOffset != null) {
|
||||||
return expressionAtOffset
|
return expressionAtOffset
|
||||||
|
|||||||
Reference in New Issue
Block a user