use tabled::Tabled;

pub mod completion;
pub mod config;
pub mod docs;
pub mod generate;
pub mod install;
pub mod list;
pub mod new;
pub mod remove;
pub mod search;
pub mod show;
pub mod sources;
pub mod test;
pub mod update;

pub use completion::Completion;
pub use config::Config;
pub use docs::Docs;
pub use generate::Generate;
pub use install::{Install, install};
pub use list::{List, list};
pub use new::{New, new};
pub use remove::{Remove, remove};
pub use search::{Search, search};
pub use show::{Show, show};
pub use sources::Sources;
pub use update::{Update, update};

// TODO: rename to TemplateOutputTableRow
#[derive(Debug, Tabled)]
pub struct ListResult {
    pub id: i64,
    pub name: String,
    pub lang: String,
    pub repo: String,
    pub branch: String,
    pub subdir: String,
}
