fix(channels): list-channels in kebab-case (#195)

```
tv gitrepos
Unknown channel: gitrepos
```

And `tv list-channels` result, before the fix:

```
tv list-channels
Builtin channels:
        env
        files
        gitrepos
        dirs
        text
        alias
```

After:

```
./target/debug/tv list-channels
Builtin channels:
        env
        files
        git-repos // HERE
        dirs
        text
        alias
```
This commit is contained in:
Heyward Fann 2024-12-31 18:21:12 +08:00 committed by GitHub
parent 76da8b0a5b
commit 1899873680
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -70,10 +70,10 @@ fn impl_cli_channel(ast: &syn::DeriveInput) -> TokenStream {
let cli_enum = quote! {
use clap::ValueEnum;
use serde::{Deserialize, Serialize};
use strum::{Display, EnumString};
use strum::{Display, EnumIter, EnumString};
use std::default::Default;
#[derive(Debug, Clone, ValueEnum, EnumString, Default, Copy, PartialEq, Eq, Serialize, Deserialize, Display)]
#[derive(Debug, Clone, ValueEnum, EnumIter, EnumString, Default, Copy, PartialEq, Eq, Serialize, Deserialize, Display)]
#[strum(serialize_all = "kebab_case")]
pub enum CliTvChannel {
#[default]
@ -115,11 +115,8 @@ fn impl_cli_channel(ast: &syn::DeriveInput) -> TokenStream {
}
pub fn all_channels() -> Vec<String> {
vec![
#(
stringify!(#cli_enum_variants).to_lowercase(),
)*
]
use strum::IntoEnumIterator;
Self::iter().map(|v| v.to_string()).collect()
}
}
};