File tree 1 file changed +22
-0
lines changed
src/org/klesun/deep_js_completion/completion_providers 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -309,6 +309,27 @@ class PropNamePvdr extends CompletionProvider[CompletionParameters] with GotoDec
309
309
// }
310
310
}
311
311
312
+ private def areOnSameLine (caretPsi : PsiElement , goToPsi : PsiElement ): Boolean = {
313
+ val isSameFile = Option (caretPsi.getContainingFile) eq Option (goToPsi.getContainingFile)
314
+ val caretLine = Option (caretPsi.getContainingFile).itr()
315
+ .map(f => substr(f.getText, 0 , caretPsi.getTextOffset))
316
+ .flatMap(str => str.split(" \n " ))
317
+ .length
318
+ val goToLine = Option (goToPsi.getContainingFile).itr()
319
+ .map(f => substr(f.getText, 0 , goToPsi.getTextOffset))
320
+ .flatMap(str => str.split(" \n " ))
321
+ .length
322
+ val isOnSameLine = caretLine == goToLine
323
+
324
+ isSameFile && isOnSameLine
325
+ }
326
+
327
+ private def isPartOf (caretPsi : PsiElement , goToPsi : PsiElement ): Boolean = {
328
+ val isInside = goToPsi.getTextRange.contains(caretPsi.getTextOffset)
329
+
330
+ isInside
331
+ }
332
+
312
333
override def getGotoDeclarationTargets (caretPsi : PsiElement , mouseOffset : Int , editor : Editor ): Array [PsiElement ] = {
313
334
314
335
nit(caretPsi)
@@ -324,6 +345,7 @@ class PropNamePvdr extends CompletionProvider[CompletionParameters] with GotoDec
324
345
.exists(lit => lit equals ref.getReferenceName))
325
346
})
326
347
.flatMap(p => p.psi)
348
+ .filter(psi => ! isPartOf(caretPsi, psi))
327
349
.itr().lift(0 )
328
350
.toArray
329
351
}
You can’t perform that action at this time.
0 commit comments