Strip leading `VAR=value` env-var assignments. Return (rest, vars).
(command: str)
| 83 | |
| 84 | |
| 85 | def strip_env_prefix(command: str) -> tuple[str, dict[str, str]]: |
| 86 | """Strip leading `VAR=value` env-var assignments. Return (rest, vars).""" |
| 87 | env_vars: dict[str, str] = {} |
| 88 | rest = command.lstrip() |
| 89 | while True: |
| 90 | m = _ENV_PREFIX_RE.match(rest) |
| 91 | if not m: |
| 92 | break |
| 93 | name = m.group(1) |
| 94 | value = m.group(2) |
| 95 | if value.startswith('"') and value.endswith('"'): |
| 96 | value = value[1:-1] |
| 97 | elif value.startswith("'") and value.endswith("'"): |
| 98 | value = value[1:-1] |
| 99 | env_vars[name] = value |
| 100 | rest = rest[m.end() :] |
| 101 | return rest, env_vars |
| 102 | |
| 103 | |
| 104 | def _matches_rust_tool(command: str) -> str | None: |
no test coverage detected