2019-04-16 02:54:52 +02:00
|
|
|
use clap::{App, Arg};
|
2019-04-19 22:57:14 +02:00
|
|
|
use starship::context::Context;
|
2019-04-16 02:54:52 +02:00
|
|
|
use starship::modules;
|
2019-04-19 22:57:14 +02:00
|
|
|
use std::path::PathBuf;
|
2019-04-16 02:54:52 +02:00
|
|
|
|
2019-04-23 20:51:08 +02:00
|
|
|
#[allow(dead_code)]
|
2019-05-01 22:34:24 +02:00
|
|
|
pub fn render_module<T>(module: &str, path: T) -> String
|
2019-04-19 22:57:14 +02:00
|
|
|
where
|
|
|
|
T: Into<PathBuf>,
|
|
|
|
{
|
2019-05-01 22:34:24 +02:00
|
|
|
render_module_with_status(module, path.into(), "0")
|
2019-04-16 02:54:52 +02:00
|
|
|
}
|
|
|
|
|
2019-05-01 22:34:24 +02:00
|
|
|
pub fn render_module_with_status<T>(module: &str, path: T, status: &str) -> String
|
2019-04-19 22:57:14 +02:00
|
|
|
where
|
|
|
|
T: Into<PathBuf>,
|
|
|
|
{
|
2019-04-16 02:54:52 +02:00
|
|
|
// Create an `Arg` with status_code of "0"
|
|
|
|
let args = App::new("starship")
|
|
|
|
.arg(Arg::with_name("status_code"))
|
|
|
|
.get_matches_from(vec!["starship", status]);
|
2019-04-19 22:57:14 +02:00
|
|
|
let context = Context::new_with_dir(args, path.into());
|
2019-04-16 02:54:52 +02:00
|
|
|
|
2019-05-01 22:34:24 +02:00
|
|
|
let module = modules::handle(module, &context);
|
2019-04-16 02:54:52 +02:00
|
|
|
|
2019-05-01 22:34:24 +02:00
|
|
|
module.unwrap().to_string()
|
2019-04-16 02:54:52 +02:00
|
|
|
}
|