in src/main/kotlin/org/arend/psi/ext/Identifiers.kt [44:71]
override fun getUseScope(): SearchScope {
val parent = parent
val pParent = parent?.parent
if (pParent is ArendNameTele) {
val function = pParent.parent
var prevSibling = function.parent.prevSibling
if (prevSibling is PsiWhiteSpace) prevSibling = prevSibling.prevSibling
val docComment = prevSibling as? ArendDocComment
return if (docComment != null) LocalSearchScope(arrayOf(function, docComment)) else LocalSearchScope(function)
}
if (parent is ArendLetClause ||
(pParent as? ArendTypedExpr)?.parent is ArendTypeTele ||
parent is ArendPattern ||
parent is ArendCaseArg ||
parent is ArendLongName) {
getTopmostExpression(parent)?.let {
return LocalSearchScope(it)
}
}
if (parent is ArendNsId && pParent is ArendNsUsing) {
pParent.ancestor<ArendGroup>()?.let { return@getUseScope LocalSearchScope(it) }
}
return super.getUseScope()
}