| 123456789101112131415161718192021222324252627282930 |
- from __future__ import annotations
- from typing import TYPE_CHECKING
- from virtualenv.activation.via_template import ViaTemplateActivator
- if TYPE_CHECKING:
- from collections.abc import Iterator
- class PowerShellActivator(ViaTemplateActivator):
- def templates(self) -> Iterator[str]:
- yield "activate.ps1"
- @staticmethod
- def quote(string: str) -> str:
- """This should satisfy PowerShell quoting rules [1], unless the quoted string is passed directly to Windows native commands [2].
- [1]: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules
- [2]:
- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing#passing-arguments-that-contain-quote-characters
- """
- string = string.replace("'", "''")
- return f"'{string}'"
- __all__ = [
- "PowerShellActivator",
- ]
|