pub fn parse_starts_at(
    source: &str,
    mode: Mode,
    source_path: &str,
    offset: TextSize
) -> Result<Mod, ParseError>
Expand description

Parse the given Python source code using the specified Mode and [Location].

This function allows to specify the location of the the source code, other than that, it behaves exactly like parse.

Example

use rustpython_parser::{text_size::TextSize, Mode, parse_starts_at};

let source = r#"
def fib(i):
   a, b = 0, 1
   for _ in range(i):
      a, b = b, a + b
   return a

print(fib(42))
"#;
let program = parse_starts_at(source, Mode::Module, "<embedded>", TextSize::from(0));
assert!(program.is_ok());