|
@ -1,11 +1,35 @@ |
|
|
pub struct Prompt;
|
|
|
|
|
|
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
|
|
|
|
|
|
pub enum PromptStyle {
|
|
|
|
|
|
None,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
impl PromptStyle {
|
|
|
|
|
|
pub fn fmt_style(&self, path: PathBuf) -> String {
|
|
|
|
|
|
match self {
|
|
|
|
|
|
PromptStyle::None => self.fmt_none(path),
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
fn fmt_none(&self, _: PathBuf) -> String {
|
|
|
|
|
|
return "» ".to_string();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
pub struct Prompt {
|
|
|
|
|
|
pub style: PromptStyle,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
impl Prompt {
|
|
|
impl Prompt {
|
|
|
pub fn new() -> Self {
|
|
|
pub fn new() -> Self {
|
|
|
Self {}
|
|
|
|
|
|
|
|
|
Self {
|
|
|
|
|
|
style: PromptStyle::None,
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
pub fn get_prompt(&mut self) -> String {
|
|
|
pub fn get_prompt(&mut self) -> String {
|
|
|
format!("» ")
|
|
|
|
|
|
|
|
|
let path = std::env::current_dir().unwrap();
|
|
|
|
|
|
|
|
|
|
|
|
return self.style.fmt_style(path);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|