gh-config

Crates.iogh-config
lib.rsgh-config
version0.4.0
sourcesrc
created_at2022-07-23 13:30:16.66401
updated_at2024-05-25 13:50:03.383902
descriptionLoads config and hosts for gh CLI.
homepagehttps://github.com/siketyan/gh-config-rs
repositoryhttps://github.com/siketyan/gh-config-rs.git
max_upload_size
id631407
size71,822
Natsuki Ikeguchi (siketyan)

documentation

README

gh-config-rs

Rust crates.io docs

Loads config and hosts for gh CLI in Rust.

Getting started

[dependencies]
gh-config = "0.4.0"

Usage

use std::error::Error;
use gh_config::*;

fn main() -> Result<(), Box<dyn Error>> {
    let config = Config::load()?;
    let hosts = Hosts::load()?;

    match hosts.get(GITHUB_COM) {
        Some(host) => println!("Token for github.com: {}", host.oauth_token),
        _ => eprintln!("Token not found."),
    }

    Ok(())
}

CLI

gh-config-rs is a hybrid crate that can be used as a library or a CLI. To use as a CLI, can be installed using the command line below:

cargo install gh-config --features=cli

Usages

Lists all configuration in YAML:

gh-config config show

Uses JSON instead:

gh-config --json config show

Uses custom path of config.yaml instead of default:

gh-config --path /path/to/config.yaml config show

Gets an authentication for github.com:

gh-config authn get github.com

Outputs only the OAuth token instead:

gh-config authn get --token-only github.com
Commit count: 153

cargo fmt