docs: improve CLI help, shell completion, and README
- Add command groups (Getting Started, Search, Downloads, Daemon, System) - Add shell completion command (bash, zsh, fish, powershell) - Add flag completions for --type, --quality, --sort, --lang, --genre, --country, --method, --player - Improve Long descriptions and Examples for all commands - Split doctor disk check into platform-specific files (Unix/Windows) - Validate infoHash length before truncating (prevent panic) - Fix references to non-existent 'unarr daemon start' command - Move stats command to System & Diagnostics group - Rewrite README with complete documentation, correct config format (toml not yaml), all commands, shell completion section
This commit is contained in:
parent
197e33956a
commit
719429b06e
22 changed files with 973 additions and 119 deletions
|
|
@ -31,9 +31,11 @@ func newSearchCmd() *cobra.Command {
|
|||
cmd := &cobra.Command{
|
||||
Use: "search <query>",
|
||||
Short: "Search for movies and TV shows",
|
||||
Long: `Search the catalog with advanced filters.
|
||||
Long: `Search the catalog for movies and TV shows with advanced filters.
|
||||
|
||||
Results include torrent quality scores, seed health, and metadata from 30+ sources.`,
|
||||
Results include torrent quality scores (0-100), seed health, resolution, codec,
|
||||
audio, and metadata aggregated from 30+ sources. Use --json for machine-readable
|
||||
output that can be piped to jq or other tools.`,
|
||||
Example: ` unarr search "breaking bad" --type show --quality 1080p
|
||||
unarr search "oppenheimer" --sort seeders --limit 5
|
||||
unarr search "inception" --lang es --min-rating 7
|
||||
|
|
@ -85,5 +87,23 @@ Results include torrent quality scores, seed health, and metadata from 30+ sourc
|
|||
cmd.Flags().IntVar(&page, "page", 0, "page number")
|
||||
cmd.Flags().StringVar(&country, "country", "", "country code for streaming availability (e.g. US, ES)")
|
||||
|
||||
// Shell completion for flags with known values
|
||||
cmd.RegisterFlagCompletionFunc("type", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
||||
return []string{"movie\tmovies only", "show\tTV shows only"}, cobra.ShellCompDirectiveNoFileComp
|
||||
})
|
||||
cmd.RegisterFlagCompletionFunc("quality", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
||||
return []string{"480p\tSD", "720p\tHD", "1080p\tFull HD", "2160p\t4K Ultra HD"}, cobra.ShellCompDirectiveNoFileComp
|
||||
})
|
||||
cmd.RegisterFlagCompletionFunc("sort", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
||||
return []string{"relevance\tbest match", "seeders\tmost seeders", "year\tnewest first", "rating\thighest rated", "added\trecently added"}, cobra.ShellCompDirectiveNoFileComp
|
||||
})
|
||||
cmd.RegisterFlagCompletionFunc("lang", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
||||
return []string{"en\tEnglish", "es\tSpanish", "fr\tFrench", "de\tGerman", "it\tItalian", "pt\tPortuguese", "ja\tJapanese", "ko\tKorean", "zh\tChinese", "ru\tRussian"}, cobra.ShellCompDirectiveNoFileComp
|
||||
})
|
||||
cmd.RegisterFlagCompletionFunc("genre", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
||||
return []string{"Action", "Adventure", "Animation", "Comedy", "Crime", "Documentary", "Drama", "Family", "Fantasy", "History", "Horror", "Music", "Mystery", "Romance", "Science Fiction", "Thriller", "War", "Western"}, cobra.ShellCompDirectiveNoFileComp
|
||||
})
|
||||
cmd.RegisterFlagCompletionFunc("country", completionCountryCodes)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue