diff --git a/src/main.rs b/src/main.rs index a9ced4f..e37338f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,9 @@ -use std::env::current_dir as current_dir; -use std::env::var_os as var_os; -use std::env::args as args; -use colored::Colorize; +use std::env::current_dir; +use std::env::var_os; +use std::env::args; use std::path::PathBuf; -use std::ffi::OsString; +//use std::ffi::OsString; +use colored::Colorize; fn get_shell_char (shell: String) -> String { let shell_char = match shell.as_str() { @@ -39,29 +39,23 @@ fn abrev_path (pwd: PathBuf, homedir: String) -> String { for p in &parts[0..len] { let part = p; - fch = part.chars().next().expect("REASON").to_string(); //1st char of p - short_dir = short_dir.replace(part, &fch); + if part.to_string() != "" { // to avoid "/" + fch = part.chars().next().expect(p).to_string(); //1st char of p + short_dir = short_dir.replace(part, &fch); + } } } short_dir } -fn root_user (user: Option) -> bool { - let u = user.expect("UnknownUser").to_str().expect("UnknownUser").to_string(); - if u == "root" - { true } - else - { false } -} - fn main() -> std::io::Result<()> { let angle = "❯"; let pwd = current_dir()?; let args: Vec = args().collect(); let shell: String; - let user = var_os("USER"); //.expect("UnknownUser").to_str().expect("UnknownUser").to_string(); - //let user = var_os("USER").expect("UnknownUser").to_str().expect("UnknownUser").to_string(); + let _user = var_os("USER").expect("UnknownUser").to_str().expect("UnknownUser").to_string(); let homedir = var_os("HOME").expect("UnknownDir").to_str().expect("UnknownDir").to_string(); + if args.len() > 1 { shell = args[1].clone(); @@ -69,9 +63,10 @@ fn main() -> std::io::Result<()> { else { shell = "none".to_string(); } - //if root_user(user) { - // println!("heh"); - //} + /* + if user == "root" { + println!("heh"); + }*/ print!("{} {}{} ", get_shell_char(shell).truecolor(75,75,75),