name: djls-ruff-ast description: Use when editing djls-extraction or Rust code that consumes Ruff Python AST APIs, including parse_module, parameters, boxed expressions, f-strings, or exception handlers. Handles known Ruff AST shape gotchas in django-language-server.
DJLS Ruff AST
Use this before editing djls-extraction or code that consumes Ruff Python AST nodes.
Known API shapes
- Parse modules with
ruff_python_parser::parse_module(source)and call.into_syntax()forModModuleAST. - Function defaults are per-parameter. There is no top-level
defaultsfield.- Use
ParameterWithDefault { parameter, default: Option<Box<Expr>> }.
- Use
StmtWhile.test,StmtIf.test, and similar fields areBox<Expr>.- Dereference with
&*for pattern matching.
- Dereference with
FStringValueuses.iter(), not.parts(), forFStringPartiteration.ExceptHandler::ExceptHandleris irrefutable.- Use
let, notif let.
- Use