1
0
mirror of https://github.com/Llewellynvdm/starship.git synced 2024-11-16 10:05:13 +00:00
starship/src/configs/directory.rs

40 lines
1.1 KiB
Rust
Raw Normal View History

use crate::config::{ModuleConfig, RootModuleConfig};
use indexmap::IndexMap;
use starship_module_config_derive::ModuleConfig;
#[derive(Clone, ModuleConfig)]
pub struct DirectoryConfig<'a> {
pub truncation_length: i64,
pub truncate_to_repo: bool,
pub substitutions: IndexMap<String, &'a str>,
pub fish_style_pwd_dir_length: i64,
pub use_logical_path: bool,
pub format: &'a str,
pub style: &'a str,
pub disabled: bool,
pub read_only: &'a str,
pub read_only_style: &'a str,
pub truncation_symbol: &'a str,
pub home_symbol: &'a str,
}
impl<'a> RootModuleConfig<'a> for DirectoryConfig<'a> {
fn new() -> Self {
DirectoryConfig {
truncation_length: 3,
truncate_to_repo: true,
fish_style_pwd_dir_length: 0,
substitutions: IndexMap::new(),
use_logical_path: true,
format: "[$path]($style)[$read_only]($read_only_style) ",
style: "cyan bold",
disabled: false,
read_only: "🔒",
read_only_style: "red",
truncation_symbol: "",
home_symbol: "~",
}
}
}