mirror of
https://github.com/starship/starship.git
synced 2026-06-23 02:05:51 +07:00
Use "context" to contain run details (#14)
* Create "context" to contain run details * Use context in tests and benchmarks
This commit is contained in:
+13
-5
@@ -1,18 +1,26 @@
|
||||
use clap::{App, Arg};
|
||||
use starship::context::Context;
|
||||
use starship::modules;
|
||||
use std::path::Path;
|
||||
use std::path::PathBuf;
|
||||
|
||||
pub fn render_segment(module: &str, path: &Path) -> String {
|
||||
render_segment_with_status(module, path, "0")
|
||||
pub fn render_segment<T>(module: &str, path: T) -> String
|
||||
where
|
||||
T: Into<PathBuf>,
|
||||
{
|
||||
render_segment_with_status(module, &path.into(), "0")
|
||||
}
|
||||
|
||||
pub fn render_segment_with_status(module: &str, path: &Path, status: &str) -> String {
|
||||
pub fn render_segment_with_status<T>(module: &str, path: T, status: &str) -> String
|
||||
where
|
||||
T: Into<PathBuf>,
|
||||
{
|
||||
// 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]);
|
||||
let context = Context::new_with_dir(args, path.into());
|
||||
|
||||
let segment = modules::handle(module, path, &args);
|
||||
let segment = modules::handle(module, &context);
|
||||
|
||||
segment.unwrap().output()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user