FindDockerCmd checks if the cli is related to docker or not, it also returns if it is a docker compose file
(cmd string)
| 574 | |
| 575 | // FindDockerCmd checks if the cli is related to docker or not, it also returns if it is a docker compose file |
| 576 | func FindDockerCmd(cmd string) CmdType { |
| 577 | if cmd == "" { |
| 578 | return Empty |
| 579 | } |
| 580 | // Convert command to lowercase for case-insensitive comparison |
| 581 | cmdLower := strings.TrimSpace(strings.ToLower(cmd)) |
| 582 | |
| 583 | // Define patterns for Docker and Docker Compose |
| 584 | dockerRunPatterns := []string{"docker run", "sudo docker run", "docker container run", "sudo docker container run"} |
| 585 | dockerStartPatterns := []string{"docker start", "sudo docker start", "docker container start", "sudo docker container start"} |
| 586 | dockerComposePatterns := []string{"docker-compose", "sudo docker-compose", "docker compose", "sudo docker compose"} |
| 587 | |
| 588 | // Check for Docker Compose command patterns and file extensions |
| 589 | for _, pattern := range dockerComposePatterns { |
| 590 | if strings.HasPrefix(cmdLower, pattern) { |
| 591 | return DockerCompose |
| 592 | } |
| 593 | } |
| 594 | // Check for Docker start command patterns |
| 595 | for _, pattern := range dockerStartPatterns { |
| 596 | if strings.HasPrefix(cmdLower, pattern) { |
| 597 | return DockerStart |
| 598 | } |
| 599 | } |
| 600 | // Check for Docker run command patterns |
| 601 | for _, pattern := range dockerRunPatterns { |
| 602 | if strings.HasPrefix(cmdLower, pattern) { |
| 603 | return DockerRun |
| 604 | } |
| 605 | } |
| 606 | return Native |
| 607 | } |
| 608 | |
| 609 | type CmdType string |
| 610 |
no outgoing calls
no test coverage detected