mirror of
https://github.com/go-task/task.git
synced 2026-08-29 01:58:56 +02:00
40 lines
795 B
Go
40 lines
795 B
Go
package task
|
|
|
|
import (
|
|
_ "embed"
|
|
"fmt"
|
|
)
|
|
|
|
//go:embed completion/bash/task.bash
|
|
var completionBash string
|
|
|
|
//go:embed completion/fish/task.fish
|
|
var completionFish string
|
|
|
|
//go:embed completion/nu/task-completions.nu
|
|
var completionNu string
|
|
|
|
//go:embed completion/ps/task.ps1
|
|
var completionPowershell string
|
|
|
|
//go:embed completion/zsh/_task
|
|
var completionZsh string
|
|
|
|
func Completion(completion string) (string, error) {
|
|
// Get the file extension for the selected shell
|
|
switch completion {
|
|
case "bash":
|
|
return completionBash, nil
|
|
case "fish":
|
|
return completionFish, nil
|
|
case "nu", "nushell":
|
|
return completionNu, nil
|
|
case "powershell":
|
|
return completionPowershell, nil
|
|
case "zsh":
|
|
return completionZsh, nil
|
|
default:
|
|
return "", fmt.Errorf("unknown shell: %s", completion)
|
|
}
|
|
}
|