mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-12 13:27:28 +00:00
Formatter: Add SourceType to context to enable special formatting for stub files (#6331)
**Summary** This adds the information whether we're in a .py python source file or in a .pyi stub file to enable people working on #5822 and related issues. I'm not completely happy with `Default` for something that depends on the input. **Test Plan** None, this is currently unused, i'm leaving this to first implementation of stub file specific formatting. --------- Co-authored-by: Micha Reiser <micha@reiser.io>
This commit is contained in:
parent
fe97a2a302
commit
1031bb6550
12 changed files with 137 additions and 97 deletions
|
@ -1,4 +1,5 @@
|
|||
use std::io::{stdout, Read, Write};
|
||||
use std::path::Path;
|
||||
use std::{fs, io};
|
||||
|
||||
use anyhow::{bail, Context, Result};
|
||||
|
@ -25,7 +26,8 @@ fn main() -> Result<()> {
|
|||
);
|
||||
}
|
||||
let input = read_from_stdin()?;
|
||||
let formatted = format_and_debug_print(&input, &cli)?;
|
||||
// It seems reasonable to give this a dummy name
|
||||
let formatted = format_and_debug_print(&input, &cli, Path::new("stdin.py"))?;
|
||||
if cli.check {
|
||||
if formatted == input {
|
||||
return Ok(());
|
||||
|
@ -37,7 +39,7 @@ fn main() -> Result<()> {
|
|||
for file in &cli.files {
|
||||
let input = fs::read_to_string(file)
|
||||
.with_context(|| format!("Could not read {}: ", file.display()))?;
|
||||
let formatted = format_and_debug_print(&input, &cli)?;
|
||||
let formatted = format_and_debug_print(&input, &cli, file)?;
|
||||
match cli.emit {
|
||||
Some(Emit::Stdout) => stdout().lock().write_all(formatted.as_bytes())?,
|
||||
None | Some(Emit::Files) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue