mirror of
https://github.com/Cheviiot/Vintner.git
synced 2026-08-03 15:57:24 +00:00
Subcommands gain one/two-letter aliases (dl, i, e, v, h) alongside their full names. CLI-owned chrome - top-level usage, per-subcommand usage lines, progress messages, and the license prompt - now goes through internal/i18n, an env-driven message catalog (MSVC_GO_WINE_LANG, falling back to the standard LC_ALL/LC_MESSAGES/LANG locale variables) with English and Russian translations. Deeper error text from internal packages stays in English. Also refreshed the top-level usage text, which hadn't kept up with --with-wdk/--list-workloads/--list-components/--print-deps-tree.
43 lines
900 B
Go
43 lines
900 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/Cheviiot/msvc-go-wine/internal/i18n"
|
|
"github.com/Cheviiot/msvc-go-wine/internal/install"
|
|
)
|
|
|
|
func runInstall(args []string) int {
|
|
if len(args) > 1 || (len(args) == 1 && (args[0] == "-h" || args[0] == "--help")) {
|
|
fmt.Fprintln(os.Stderr, i18n.T("install.usage"))
|
|
return 1
|
|
}
|
|
|
|
var dest string
|
|
if len(args) == 1 {
|
|
dest = args[0]
|
|
} else {
|
|
def, err := defaultToolchainDir()
|
|
if err != nil {
|
|
fmt.Fprintln(os.Stderr, "msvc-go-wine install:", err)
|
|
return 1
|
|
}
|
|
dest = def
|
|
fmt.Println(i18n.T("install.default_dir", dest))
|
|
}
|
|
|
|
self, err := os.Executable()
|
|
if err != nil {
|
|
fmt.Fprintln(os.Stderr, "msvc-go-wine install:", err)
|
|
return 1
|
|
}
|
|
|
|
if err := install.Install(dest, self); err != nil {
|
|
fmt.Fprintln(os.Stderr, "msvc-go-wine install:", err)
|
|
return 1
|
|
}
|
|
fmt.Println(i18n.T("install.done", dest+"/bin/<arch>"))
|
|
return 0
|
|
}
|