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-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,
|
2021-02-07 21:18:52 +00:00
|
|
|
pub detect_extensions: Vec<&'a str>,
|
|
|
|
pub detect_files: Vec<&'a str>,
|
|
|
|
pub detect_folders: Vec<&'a str>,
|
2019-10-19 01:51:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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"]),
|
2021-01-20 17:42:55 +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,
|
2021-02-07 21:18:52 +00:00
|
|
|
detect_extensions: vec!["py"],
|
|
|
|
detect_files: vec![
|
|
|
|
"requirements.txt",
|
|
|
|
".python-version",
|
|
|
|
"pyproject.toml",
|
|
|
|
"Pipfile",
|
|
|
|
"tox.ini",
|
|
|
|
"setup.py",
|
|
|
|
"__init__.py",
|
|
|
|
],
|
|
|
|
detect_folders: vec![],
|
2019-10-19 01:51:38 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|