(src: str, pos: Pos)
| 389 | |
| 390 | |
| 391 | def parse_key_part(src: str, pos: Pos) -> tuple[Pos, str]: |
| 392 | try: |
| 393 | char: str | None = src[pos] |
| 394 | except IndexError: |
| 395 | char = None |
| 396 | if char in BARE_KEY_CHARS: |
| 397 | start_pos = pos |
| 398 | pos = skip_chars(src, pos, BARE_KEY_CHARS) |
| 399 | return pos, src[start_pos:pos] |
| 400 | if char == "'": |
| 401 | return parse_literal_str(src, pos) |
| 402 | if char == '"': |
| 403 | return parse_one_line_basic_str(src, pos) |
| 404 | raise suffixed_err(src, pos, "Invalid initial character for a key part") |
| 405 | |
| 406 | |
| 407 | def parse_one_line_basic_str(src: str, pos: Pos) -> tuple[Pos, str]: |
no test coverage detected