7936a0966e
Adds a git-cargo-fish install method that clones fish-shell, checks out the latest tag, and runs `uv run --no-managed-python cargo install --path .`. This is offered first in `fish-deps install` (requires cargo + uv) and used automatically by `fish-deps update`, falling back to the system PM when cargo or uv are absent. Removes the stale `cargo install fish` README note (that crate is a library, not the shell binary).
56 lines
2.0 KiB
Fish
56 lines
2.0 KiB
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# Populates parallel arrays describing every managed dependency.
|
|
# Callers must invoke this function before accessing _fdc_* arrays.
|
|
#
|
|
# Array layout (same index across all sets):
|
|
# _fdc_bins — binary name (what `type -q` checks)
|
|
# _fdc_tiers — req | int | rec
|
|
# _fdc_cargo — cargo crate name, or "" if not on crates.io
|
|
# _fdc_pm — system PM package name, or "" if not in repos
|
|
# _fdc_special — special install key: rustup-installer | fisher-bootstrap |
|
|
# fzf-update | paru-build | pipx | curl-installer |
|
|
# git-cargo-fish | "" (none)
|
|
#
|
|
# cargo is listed second so it is installed before Rust tools that depend on it.
|
|
function _fish_deps_catalog
|
|
set -g _fdc_bins \
|
|
fish cargo fisher starship fzf zoxide direnv paru \
|
|
wakatime tailscale \
|
|
eza lsd bat btop dust duf prettyping most rg lazygit lazydocker trash kitty wezterm
|
|
|
|
set -g _fdc_tiers \
|
|
req req req req req req req rec \
|
|
int int \
|
|
rec rec rec rec rec rec rec rec rec rec rec rec rec rec
|
|
|
|
set -g _fdc_cargo \
|
|
"" "" "" starship "" zoxide "" "" \
|
|
"" "" \
|
|
eza lsd bat "" du-dust "" "" "" ripgrep "" "" trashy "" ""
|
|
|
|
set -g _fdc_pm \
|
|
fish cargo "" starship fzf zoxide direnv "" \
|
|
wakatime tailscale \
|
|
eza lsd bat btop dust duf prettyping most ripgrep lazygit lazydocker trash kitty wezterm
|
|
|
|
set -g _fdc_special \
|
|
git-cargo-fish rustup-installer fisher-bootstrap curl-installer fzf-update "" "" paru-build \
|
|
wakatime-binary "" \
|
|
"" "" "" "" "" "" "" "" "" "" curl-lazydocker "" "" ""
|
|
end
|
|
|
|
# Returns the index (1-based) of $argv[1] in the catalog, or "" if not found.
|
|
function _fish_deps_catalog_idx --argument-names bin
|
|
_fish_deps_catalog
|
|
set -l i 1
|
|
for b in $_fdc_bins
|
|
if test "$b" = "$bin"
|
|
echo $i
|
|
return
|
|
end
|
|
set i (math $i + 1)
|
|
end
|
|
end
|