Рыба проекта. Минимальная функциональность

This commit is contained in:
2026-08-03 22:22:24 +03:00
commit 8c8631ac9c
80 changed files with 10618 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
package main
import (
_ "embed"
"fmt"
"os"
"github.com/spf13/cobra"
)
//go:embed resources/config.en.yaml
var configEnYAML []byte
//go:embed resources/config.ru.yaml
var configRuYAML []byte
func generateConfigCmd() *cobra.Command {
var lang string
var output string
cmd := &cobra.Command{
Use: "generate-config",
Short: "Generate a commented example configuration file",
RunE: func(cmd *cobra.Command, args []string) error {
var tmpl []byte
switch lang {
case "en":
tmpl = configEnYAML
case "ru":
tmpl = configRuYAML
default:
return fmt.Errorf("unsupported language: %q (must be \"en\" or \"ru\")", lang)
}
if output != "" {
return os.WriteFile(output, tmpl, 0o644)
}
_, err := cmd.OutOrStdout().Write(tmpl)
return err
},
}
cmd.Flags().StringVar(&lang, "lang", "en", "Language for comments (en or ru)")
cmd.Flags().StringVar(&output, "output", "", "Output file path (empty = stdout)")
return cmd
}