Expose Indentation in ruff_python_codegen (#20216)

## Summary

I'm trying to reduce code complexity for
[RustPython](https://github.com/RustPython/RustPython), we have this
file:
056795eed4/compiler/codegen/src/unparse.rs
which can be replaced entirely by `ruff_python_codegen::Generator`.
Unfortunately we can not create an instance of `Generator` easily,
because `Indentation` is not exported at
cda376afe0/crates/ruff_python_codegen/src/lib.rs (L3)

I have managed to bypass this restriction by doing:
```rust
let contents = r"x = 1";
let module = ruff_python_parser::parse_module(contents).unwrap();
let stylist = ruff_python_codegen::Stylist::from_tokens(module.tokens(), contents);
stylist.indentation()
```

But ideally I'd rather use:
```rust
ruff_python_codegen::Indentation::default()
```
This commit is contained in:
Shahar Naveh 2025-09-03 20:32:31 +03:00 committed by GitHub
parent cda376afe0
commit cb1ba0d4c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,6 @@
pub use generator::Generator;
use ruff_python_parser::{ParseError, parse_module};
pub use stylist::Stylist;
pub use stylist::{Indentation, Stylist};
mod generator;
mod stylist;