mirror of https://github.com/astral-sh/ruff
Add an Unrecognized variant to PySourceType
This commit is contained in:
parent
a33883d51a
commit
9c5988f23e
|
|
@ -46,8 +46,9 @@ pub(crate) fn add_noqa(
|
||||||
.flatten()
|
.flatten()
|
||||||
.filter_map(|entry| {
|
.filter_map(|entry| {
|
||||||
let path = entry.path();
|
let path = entry.path();
|
||||||
let SourceType::Python(source_type @ (PySourceType::Python | PySourceType::Stub)) =
|
let SourceType::Python(
|
||||||
SourceType::from(path)
|
source_type @ (PySourceType::Py | PySourceType::Pyi | PySourceType::Pyw),
|
||||||
|
) = SourceType::from(path)
|
||||||
else {
|
else {
|
||||||
return None;
|
return None;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ pub(crate) fn format(cli: &Arguments, overrides: &Overrides) -> Result<ExitStatu
|
||||||
let path = entry.path();
|
let path = entry.path();
|
||||||
if matches!(
|
if matches!(
|
||||||
SourceType::from(path),
|
SourceType::from(path),
|
||||||
SourceType::Python(PySourceType::Python | PySourceType::Stub)
|
SourceType::Python(PySourceType::Py | PySourceType::Pyi | PySourceType::Pyw)
|
||||||
) {
|
) {
|
||||||
let line_length = resolver.resolve(path, &pyproject_config).line_length;
|
let line_length = resolver.resolve(path, &pyproject_config).line_length;
|
||||||
let options = PyFormatOptions::from_extension(path)
|
let options = PyFormatOptions::from_extension(path)
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ pub enum SourceType {
|
||||||
|
|
||||||
impl Default for SourceType {
|
impl Default for SourceType {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self::Python(PySourceType::Python)
|
Self::Python(PySourceType::Py)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -70,20 +70,32 @@ pub enum TomlSourceType {
|
||||||
pub enum PySourceType {
|
pub enum PySourceType {
|
||||||
/// The source is a Python file (`.py`).
|
/// The source is a Python file (`.py`).
|
||||||
#[default]
|
#[default]
|
||||||
Python,
|
Py,
|
||||||
/// The source is a Python stub file (`.pyi`).
|
/// The source is a Python stub file (`.pyi`).
|
||||||
Stub,
|
Pyi,
|
||||||
|
/// The source is a Python script with a graphical user interface (`.pyw`).
|
||||||
|
Pyw,
|
||||||
/// The source is a Jupyter notebook (`.ipynb`).
|
/// The source is a Jupyter notebook (`.ipynb`).
|
||||||
Ipynb,
|
Ipynb,
|
||||||
|
/// The source is an unrecognized Python file.
|
||||||
|
Unrecognized,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl PySourceType {
|
||||||
|
/// Return `true` if the source type is a stub file.
|
||||||
|
pub const fn is_stub(self) -> bool {
|
||||||
|
matches!(self, Self::Pyi)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<&Path> for PySourceType {
|
impl From<&Path> for PySourceType {
|
||||||
fn from(path: &Path) -> Self {
|
fn from(path: &Path) -> Self {
|
||||||
match path.extension() {
|
match path.extension() {
|
||||||
Some(ext) if ext == "py" => PySourceType::Python,
|
Some(ext) if ext == "py" => PySourceType::Py,
|
||||||
Some(ext) if ext == "pyi" => PySourceType::Stub,
|
Some(ext) if ext == "pyi" => PySourceType::Pyi,
|
||||||
|
Some(ext) if ext == "pyw" => PySourceType::Pyw,
|
||||||
Some(ext) if ext == "ipynb" => PySourceType::Ipynb,
|
Some(ext) if ext == "ipynb" => PySourceType::Ipynb,
|
||||||
_ => PySourceType::Python,
|
_ => PySourceType::Py,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -312,7 +312,10 @@ pub trait AsMode {
|
||||||
impl AsMode for PySourceType {
|
impl AsMode for PySourceType {
|
||||||
fn as_mode(&self) -> Mode {
|
fn as_mode(&self) -> Mode {
|
||||||
match self {
|
match self {
|
||||||
PySourceType::Python | PySourceType::Stub => Mode::Module,
|
PySourceType::Py
|
||||||
|
| PySourceType::Pyi
|
||||||
|
| PySourceType::Pyw
|
||||||
|
| PySourceType::Unrecognized => Mode::Module,
|
||||||
PySourceType::Ipynb => Mode::Jupyter,
|
PySourceType::Ipynb => Mode::Jupyter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue