use crate::config::{ModuleConfig, RootModuleConfig, VecOr}; use starship_module_config_derive::ModuleConfig; #[derive(Clone, ModuleConfig)] pub struct PythonConfig<'a> { pub pyenv_version_name: bool, pub pyenv_prefix: &'a str, pub python_binary: VecOr<&'a str>, pub scan_for_pyfiles: bool, pub format: &'a str, pub style: &'a str, pub symbol: &'a str, pub disabled: bool, } impl<'a> RootModuleConfig<'a> for PythonConfig<'a> { fn new() -> Self { PythonConfig { pyenv_version_name: false, pyenv_prefix: "pyenv ", python_binary: VecOr(vec!["python", "python3", "python2"]), scan_for_pyfiles: true, format: "via [${symbol}${pyenv_prefix}(${version} )(\\($virtualenv\\))]($style)", style: "yellow bold", symbol: "🐍 ", disabled: false, } } }