Add support for detecting Python from Pipenv files (#221)
Added the ability to enable the Python module based on the existence of the a `Pipfile`.
This commit is contained in:
parent
360ea988e5
commit
1478f8c2e9
|
@ -421,6 +421,7 @@ The module will be shown if any of the following conditions are met:
|
||||||
- The current directory contains a `requirements.txt` file
|
- The current directory contains a `requirements.txt` file
|
||||||
- The current directory contains a `pyproject.toml` file
|
- The current directory contains a `pyproject.toml` file
|
||||||
- The current directory contains a file with the `.py` extension
|
- The current directory contains a file with the `.py` extension
|
||||||
|
- The current directory contains a `Pipfile` file
|
||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
|
||||||
|
|
|
@ -15,10 +15,16 @@ use super::{Context, Module};
|
||||||
/// - Current directory contains a `requirements.txt` file
|
/// - Current directory contains a `requirements.txt` file
|
||||||
/// - Current directory contains a `pyproject.toml` file
|
/// - Current directory contains a `pyproject.toml` file
|
||||||
/// - Current directory contains a file with the `.py` extension
|
/// - Current directory contains a file with the `.py` extension
|
||||||
|
/// - Current directory contains a `Pipfile` file
|
||||||
pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
||||||
let is_py_project = context
|
let is_py_project = context
|
||||||
.new_scan_dir()
|
.new_scan_dir()
|
||||||
.set_files(&["requirements.txt", ".python-version", "pyproject.toml"])
|
.set_files(&[
|
||||||
|
"requirements.txt",
|
||||||
|
".python-version",
|
||||||
|
"pyproject.toml",
|
||||||
|
"Pipfile",
|
||||||
|
])
|
||||||
.set_extensions(&["py"])
|
.set_extensions(&["py"])
|
||||||
.scan();
|
.scan();
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,23 @@ fn folder_with_pyproject_toml() -> io::Result<()> {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[ignore]
|
||||||
|
fn folder_with_pipfile() -> io::Result<()> {
|
||||||
|
let dir = common::new_tempdir()?;
|
||||||
|
File::create(dir.path().join("Pipfile"))?;
|
||||||
|
|
||||||
|
let output = common::render_module("python")
|
||||||
|
.arg("--path")
|
||||||
|
.arg(dir.path())
|
||||||
|
.output()?;
|
||||||
|
let actual = String::from_utf8(output.stdout).unwrap();
|
||||||
|
|
||||||
|
let expected = format!("via {} ", Color::Yellow.bold().paint("🐍 v3.6.9"));
|
||||||
|
assert_eq!(expected, actual);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[ignore]
|
#[ignore]
|
||||||
fn folder_with_py_file() -> io::Result<()> {
|
fn folder_with_py_file() -> io::Result<()> {
|
||||||
|
|
Loading…
Reference in New Issue