---
source: crates/ruff_python_parser/src/lexer.rs
expression: lex_source(source)
snapshot_kind: text
---
## Tokens
```
[
    (
        FStringStart,
        0..2,
        TokenFlags(
            DOUBLE_QUOTES | F_STRING,
        ),
    ),
    (
        FStringMiddle(
            "normal ",
        ),
        2..9,
        TokenFlags(
            DOUBLE_QUOTES | F_STRING,
        ),
    ),
    (
        Lbrace,
        9..10,
    ),
    (
        Name(
            Name("foo"),
        ),
        10..13,
    ),
    (
        Rbrace,
        13..14,
    ),
    (
        FStringMiddle(
            " {another} ",
        ),
        14..27,
        TokenFlags(
            DOUBLE_QUOTES | F_STRING,
        ),
    ),
    (
        Lbrace,
        27..28,
    ),
    (
        Name(
            Name("bar"),
        ),
        28..31,
    ),
    (
        Rbrace,
        31..32,
    ),
    (
        FStringMiddle(
            " {",
        ),
        32..35,
        TokenFlags(
            DOUBLE_QUOTES | F_STRING,
        ),
    ),
    (
        Lbrace,
        35..36,
    ),
    (
        Name(
            Name("three"),
        ),
        36..41,
    ),
    (
        Rbrace,
        41..42,
    ),
    (
        FStringMiddle(
            "}",
        ),
        42..44,
        TokenFlags(
            DOUBLE_QUOTES | F_STRING,
        ),
    ),
    (
        FStringEnd,
        44..45,
        TokenFlags(
            DOUBLE_QUOTES | F_STRING,
        ),
    ),
    (
        Newline,
        45..45,
    ),
]
```
