Add ValidArgsFunction to mount and unmount commands that reads config aliases for tab completion. Install zsh, bash, and fish completion scripts via flake postInstall. Update PLAN.md with post-1.0 roadmap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
627 B
Go
26 lines
627 B
Go
package cmd
|
|
|
|
import (
|
|
"sort"
|
|
|
|
"git.wntrmute.dev/kyle/arca/internal/config"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// completeDeviceOrAlias provides dynamic completion for device aliases
|
|
// and device paths from the config file.
|
|
func completeDeviceOrAlias(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
|
if len(args) > 0 {
|
|
return nil, cobra.ShellCompDirectiveNoFileComp
|
|
}
|
|
|
|
cfg := config.Load()
|
|
var completions []string
|
|
for alias := range cfg.Devices {
|
|
completions = append(completions, alias)
|
|
}
|
|
sort.Strings(completions)
|
|
|
|
return completions, cobra.ShellCompDirectiveNoFileComp
|
|
}
|