From 2de188992ca25fe0b25640912b5c3d6ef8b02af9 Mon Sep 17 00:00:00 2001 From: Jean Alinei Date: Wed, 25 Jun 2025 16:50:37 +0200 Subject: [PATCH] Simplify ignore script to run once --- owntech/pio_extra.ini | 2 ++ owntech/scripts/pre_ignore_vscode.py | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 owntech/scripts/pre_ignore_vscode.py diff --git a/owntech/pio_extra.ini b/owntech/pio_extra.ini index 3b709e68..59b93b61 100644 --- a/owntech/pio_extra.ini +++ b/owntech/pio_extra.ini @@ -70,6 +70,7 @@ debug_init_cmds = debug_load_cmds = extra_scripts = + pre:owntech/scripts/pre_ignore_vscode.py pre:owntech/scripts/pre_target_gui_config.py pre:owntech/scripts/pre_target_install_bootloader.py pre:owntech/scripts/pre_bootloader_common.py @@ -101,6 +102,7 @@ upload_flags = upload_command = MCUMGRPATH $UPLOAD_FLAGS $SOURCE extra_scripts = + pre:owntech/scripts/pre_ignore_vscode.py pre:owntech/scripts/pre_target_gui_config.py pre:owntech/scripts/pre_bootloader_common.py pre:owntech/scripts/pre_bootloader_serial.py diff --git a/owntech/scripts/pre_ignore_vscode.py b/owntech/scripts/pre_ignore_vscode.py new file mode 100644 index 00000000..b04ab7aa --- /dev/null +++ b/owntech/scripts/pre_ignore_vscode.py @@ -0,0 +1,25 @@ +"""Mark VSCode settings as assume-unchanged with minimal overhead.""" + +from pathlib import Path +import subprocess + + +def main() -> None: + settings = Path(".vscode") / "settings.json" + flag = Path(".pio") / "ignore_vscode.flag" + + if not settings.is_file() or flag.exists(): + return + + subprocess.run( + ["git", "update-index", "--assume-unchanged", str(settings)], check=False + ) + + flag.parent.mkdir(parents=True, exist_ok=True) + flag.write_text("done") + + +if __name__ == "__main__": + main() + +