diff --git a/plugins/github/src/org/jetbrains/plugins/github/extensions/githubYamlFileDetection.kt b/plugins/github/src/org/jetbrains/plugins/github/extensions/githubYamlFileDetection.kt index 03731f8f4fab..f042c6d3ee6c 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/extensions/githubYamlFileDetection.kt +++ b/plugins/github/src/org/jetbrains/plugins/github/extensions/githubYamlFileDetection.kt @@ -5,6 +5,7 @@ import com.intellij.openapi.util.io.FileUtilRt import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.isFile import com.intellij.psi.PsiFile +import java.io.File fun isGithubActionsFile(psiFile: PsiFile?): Boolean { val virtualFile = psiFile?.originalFile?.virtualFile ?: return false @@ -29,8 +30,12 @@ private fun isGithubActionsActionFile(virtualFile: VirtualFile): Boolean { private fun isGithubWorkflowFile(virtualFile: VirtualFile): Boolean { val fileName = virtualFile.name + val filePath = virtualFile.path + val workflowDirIndex = filePath.indexOf("${File.separator}workflows") + val githubDirIndex = filePath.indexOf(".github${File.separator}") return virtualFile.isFile && (FileUtilRt.extensionEquals(fileName, "yml") || FileUtilRt.extensionEquals(fileName, "yaml")) - && virtualFile.parent?.name == "workflows" - && virtualFile.parent?.parent?.name == ".github" + && workflowDirIndex != -1 + && githubDirIndex != -1 + && workflowDirIndex > githubDirIndex }