fun getRunLineMarkerInfoForFunction()

in src/main/kotlin/org/jetbrains/tinygoplugin/runconfig/TinyGoRunLineMarkerContributor.kt [20:41]


    fun getRunLineMarkerInfoForFunction(e: PsiElement): Info? {
        if (e.node.elementType === GoTypes.IDENTIFIER) {
            val parent = e.parent
            val file = e.containingFile
            if (e.project.service<InjectedLanguageManager>().isInjectedFragment(file)) {
                return null
            }
            val settings = e.project.tinyGoConfiguration()
            if (!settings.enabled) return null
            if (!GoUtil.isInProject(file) || !filePredicate(file) || parent !is GoFunctionDeclaration) return null
            if (!functionPredicate(parent)) return null
            val actions = ExecutorAction.getActions(1).let {
                arrayOf(it.first(), it.last())
            }
            return Info(
                TinyGoPluginIcons.TinyGoIcon,
                actions,
                this::tooltipProvider,
            )
        }
        return null
    }