Skip to content

Commit f6a1f14

Browse files
authored
fix toc on other file (#249)
* fix toc on other file * fix toc on other file * Update EmberUtils.kt
1 parent 4c8706b commit f6a1f14

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/main/kotlin/com/emberjs/utils/EmberUtils.kt

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ import com.intellij.psi.impl.file.PsiDirectoryImpl
5656
import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference
5757
import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet
5858
import com.intellij.psi.impl.source.tree.LeafPsiElement
59-
import com.intellij.psi.search.ProjectScope
59+
import com.intellij.psi.templateLanguages.OuterLanguageElement
6060
import com.intellij.psi.util.PsiTreeUtil
6161
import com.intellij.psi.util.elementType
6262
import com.intellij.psi.util.parents
@@ -148,6 +148,19 @@ class EmberUtils {
148148
}
149149

150150
val r = ref as PsiElement? ?: exp
151+
152+
if (r is JSVariable) {
153+
val v = r.children.getOrNull(1)
154+
if (v != null) {
155+
val viewProvider = file.containingFile.viewProvider
156+
val ts = viewProvider.findElementAt(v.textOffset, JavaScriptSupportLoader.TYPESCRIPT)
157+
val js = viewProvider.findElementAt(v.textOffset, JavaScriptSupportLoader.ECMA_SCRIPT_6)
158+
if (ts is OuterLanguageElement || js is OuterLanguageElement) {
159+
return r
160+
}
161+
}
162+
}
163+
151164
val func = r?.children?.find { it is JSCallExpression }
152165
if (func is JSCallExpression) {
153166
return func
@@ -765,7 +778,8 @@ class EmberUtils {
765778
}
766779

767780
fun getComponentReferenceData(f: PsiElement): ComponentReferenceData {
768-
val file = resolveDefaultExport(f.containingFile)?.containingFile ?: f
781+
val defaultExport = resolveDefaultExport(f.containingFile)
782+
val file = defaultExport?.containingFile ?: f
769783
var name = file.containingFile.name.split(".").first()
770784
val dir = file.containingFile.parent as PsiDirectoryImpl?
771785
var template: PsiFile? = null
@@ -803,6 +817,7 @@ class EmberUtils {
803817
} else {
804818
cls = findDefaultExportClass(tsFile)
805819
?: findDefaultExportClass(containingFile)
820+
?: defaultExport
806821
?: file
807822
}
808823

0 commit comments

Comments
 (0)