1
0
Ficheiros
my-fish-config/functions/poup.fish

44 linhas
1.2 KiB
Fish

Este ficheiro contém caracteres Unicode ambíguos

Este ficheiro contém caracteres Unicode que podem ser confundidos com outros caracteres. Se acha que é intencional, pode ignorar este aviso com segurança. Use o botão Revelar para os mostrar.

function poup
set -l toml_state (git status --porcelain pyproject.toml | head -c 2)
set -l project_type unknown
set -l lockfile unknown
if test -e poetry.lock
set project_type poetry
set lockfile poetry.lock
else if test -e uv.lock
set project_type uv
set lockfile uv.lock
else
echo "Unknown project type (neither poetry.lock nor uv.lock exists)" >/dev/stderr
return 1
end
# Make sure pyproject.toml doesnt have conflicts
if test "$toml_state" = UU
echo "pyproject.toml has conflicts, resolve those first"
git mergetool pyproject.toml; or return
set toml_state (git status --porcelain pyproject.toml | head -c 2)
end
if test "$toml_state" = "M " -o "$toml_state" = MM -o "$toml_state" = " M"
git checkout --ours $lockfile
if test $project_type = poetry
poetry lock --no-update
else if test $project_type = uv
uv lock
end
and git add $lockfile
end
set toml_state (git status --porcelain poetry.lock | head -c 2)
if test "$toml_state" = UU
git checkout --ours poetry.lock
git add poetry.lock
end
end