feat(mise): Support tools with custom mise params (e.g. tea)
Replace the hardcoded 'tea' special case in mise-tools with a generic
mechanism: a tool entry in tools.yaml/hosts.yaml can now be either a
plain string ("latest") or a map keyed by tool name whose value holds
mise params (version, url, asset_pattern, ...). This generalizes to
any future tool needing more than "latest", instead of requiring a
new hardcoded branch per tool.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,8 +19,9 @@ tools:
|
||||
- lazygit
|
||||
- delta
|
||||
- gh
|
||||
- tea
|
||||
# tea = { version = "0.14.2", url = 'https://gitea.com/gitea/tea/releases/download/v{{- "{{" }} version {{ "}}" -}}/tea-{{- "{{" }} version {{ "}}" -}}-{{- "{{" }} os() {{ "}}" -}}-{{- "{{" }} arch(x64="amd64") {{ "}}" -}}.xz' }
|
||||
- tea:
|
||||
version: "0.14.2"
|
||||
url: "https://gitea.com/gitea/tea/releases/download/v{{ version }}/tea-{{ version }}-{{ os() }}-{{ arch(x64='amd64') }}.xz"
|
||||
- jq
|
||||
- yq
|
||||
- shellcheck
|
||||
|
||||
@@ -18,9 +18,11 @@
|
||||
|
||||
# Toolbox: {{ $toolboxName }}
|
||||
{{- range $tool := $toolsList }}
|
||||
{{- /* Gestion fine du cas particulier de 'tea' mis en commentaire dans votre yaml */}}
|
||||
{{- if eq $tool "tea" }}
|
||||
tea = { version = "0.14.2", url = "https://gitea.com/gitea/tea/releases/download/v{{`{{ version }}`}}/tea-{{`{{ version }}`}}-{{`{{ os() }}`}}-{{`{{ arch(x64='amd64') }}`}}.xz" }
|
||||
{{- /* Un outil est soit une chaîne ("nom"), soit un objet { nom: {version, ...params mise} } */}}
|
||||
{{- if kindIs "map" $tool }}
|
||||
{{- range $toolName, $params := $tool }}
|
||||
{{ $toolName }} = { version = "{{ $params.version | default "latest" }}"{{ range $key, $value := omit $params "version" }}, {{ $key }} = "{{ $value }}"{{ end }} }
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
"{{ $tool }}" = "latest"
|
||||
{{- end }}
|
||||
@@ -34,7 +36,13 @@ tea = { version = "0.14.2", url = "https://gitea.com/gitea/tea/releases/download
|
||||
|
||||
# Outils individuels
|
||||
{{- range $tool := $currentUser.tools }}
|
||||
{{- if kindIs "map" $tool }}
|
||||
{{- range $toolName, $params := $tool }}
|
||||
{{ $toolName }} = { version = "{{ $params.version | default "latest" }}"{{ range $key, $value := omit $params "version" }}, {{ $key }} = "{{ $value }}"{{ end }} }
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
"{{ $tool }}" = "latest"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
Reference in New Issue
Block a user