2020-11-30 19:14:18 +00:00
|
|
|
use crate::config::{ModuleConfig, RootModuleConfig, VecOr};
|
2019-10-19 01:51:38 +00:00
|
|
|
|
|
|
|
use starship_module_config_derive::ModuleConfig;
|
|
|
|
|
|
|
|
#[derive(Clone, ModuleConfig)]
|
|
|
|
pub struct PythonConfig<'a> {
|
|
|
|
pub pyenv_version_name: bool,
|
2020-09-21 15:48:26 +00:00
|
|
|
pub pyenv_prefix: &'a str,
|
2020-11-30 19:14:18 +00:00
|
|
|
pub python_binary: VecOr<&'a str>,
|
2020-04-14 08:26:51 +00:00
|
|
|
pub scan_for_pyfiles: bool,
|
2020-07-07 22:45:32 +00:00
|
|
|
pub format: &'a str,
|
|
|
|
pub style: &'a str,
|
|
|
|
pub symbol: &'a str,
|
2019-10-19 01:51:38 +00:00
|
|
|
pub disabled: bool,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> RootModuleConfig<'a> for PythonConfig<'a> {
|
|
|
|
fn new() -> Self {
|
|
|
|
PythonConfig {
|
|
|
|
pyenv_version_name: false,
|
2020-09-21 15:48:26 +00:00
|
|
|
pyenv_prefix: "pyenv ",
|
2020-11-30 19:14:18 +00:00
|
|
|
python_binary: VecOr(vec!["python", "python3", "python2"]),
|
2020-04-14 08:26:51 +00:00
|
|
|
scan_for_pyfiles: true,
|
2020-09-21 15:48:26 +00:00
|
|
|
format: "via [${symbol}${pyenv_prefix}${version}( \\($virtualenv\\))]($style) ",
|
2020-07-07 22:45:32 +00:00
|
|
|
style: "yellow bold",
|
|
|
|
symbol: "🐍 ",
|
2019-10-19 01:51:38 +00:00
|
|
|
disabled: false,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|