ee: редактор запускается через subprocess вместо pty invoke
- invoke оставлял на внешнем терминале ixon, и Ctrl+S/Ctrl+Q съедал драйвер терминала как XOFF/XON — до micro они не доходили - код возврата ansible-vault теперь пробрасывается наружу
This commit is contained in:
@@ -112,7 +112,16 @@ def decrypt(ctx: Context, file: str) -> None:
|
||||
@task(aliases=["ee"])
|
||||
def edit_encrypted(ctx: Context, path: str) -> None:
|
||||
"""Редактировать vault-файл через ansible-vault edit (без расшифровки на диск)"""
|
||||
ctx.run(f"uv run ansible-vault edit {path}", pty=True)
|
||||
# Намеренно не через ctx.run: invoke заводит свой pty, а внешний терминал
|
||||
# переводит лишь в cbreak — ixon остаётся включённым, и Ctrl+S/Ctrl+Q съедает
|
||||
# драйвер терминала как XOFF/XON, до редактора они не доходят. subprocess
|
||||
# отдаёт редактору настоящий tty, и его raw-режим гасит ixon сам.
|
||||
result = subprocess.run(["uv", "run", "ansible-vault", "edit", path])
|
||||
if result.returncode != 0:
|
||||
raise Exit(
|
||||
f"ansible-vault edit: код возврата {result.returncode}",
|
||||
code=result.returncode,
|
||||
)
|
||||
|
||||
|
||||
# --- Синхронизация общих ролей с каноном ansible-roles ---
|
||||
|
||||
Reference in New Issue
Block a user