Merge pull request 'select-shell: show available names if provided name is incorrect' (#2060) from DavHau/clan-core:DavHau-dave into main

This commit is contained in:
clan-bot
2024-09-09 18:58:05 +00:00
2 changed files with 19 additions and 3 deletions

View File

@@ -32,7 +32,7 @@ def print_current_shell() -> None:
print("No devshell selected") print("No devshell selected")
def print_devshells() -> None: def list_devshells() -> list[str]:
project_root = os.environ.get("PRJ_ROOT") project_root = os.environ.get("PRJ_ROOT")
flake_show = subprocess.run( flake_show = subprocess.run(
[ [
@@ -47,7 +47,12 @@ def print_devshells() -> None:
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
) )
names = json.loads(flake_show.stdout.decode()) names = json.loads(flake_show.stdout.decode())
print("Available devshells:\n") return names
def print_devshells() -> None:
names = list_devshells()
print("Available devshells:")
print("\n".join(names)) print("\n".join(names))
@@ -55,6 +60,9 @@ def select_shell(shell: str) -> None:
if shell == get_current_shell(): if shell == get_current_shell():
print(f"{shell} devshell already selected. No changes made.") print(f"{shell} devshell already selected. No changes made.")
sys.exit(0) sys.exit(0)
elif shell not in (names := list_devshells()):
print(f"devshell '{shell}' not found. Available devshells:")
print("\n".join(names))
else: else:
with selected_shell_file.open("w") as f: with selected_shell_file.open("w") as f:
f.write(shell) f.write(shell)

View File

@@ -29,7 +29,15 @@ if ! check_remote "$remoteUpstream"; then
exit 1 exit 1
fi fi
treefmt --fail-on-change --no-cache
# run formatting on a clean working tree
echo "stashing uncommitted changes to run treefmt"
git stash push
if ! treefmt --fail-on-change --no-cache; then
git stash pop
exit 1
fi
git stash pop
upstream_url=$(git remote get-url "$remoteUpstream") upstream_url=$(git remote get-url "$remoteUpstream")
set -x set -x