add cli commands, docs, readme
This commit is contained in:
parent
1daf6e9610
commit
e01db90b0b
43 changed files with 1213 additions and 48 deletions
|
@ -6,11 +6,11 @@ before:
|
||||||
- go mod tidy
|
- go mod tidy
|
||||||
|
|
||||||
builds:
|
builds:
|
||||||
- env:
|
- id: with-upx
|
||||||
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
- windows
|
|
||||||
- darwin
|
- darwin
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
|
@ -20,9 +20,25 @@ builds:
|
||||||
- 386
|
- 386
|
||||||
goarm:
|
goarm:
|
||||||
- 7
|
- 7
|
||||||
|
hooks:
|
||||||
|
post: 'upx {{ .Path }}'
|
||||||
|
- id: without-upx
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
goos:
|
||||||
|
- windows
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm
|
||||||
|
- arm64
|
||||||
|
- 386
|
||||||
|
goarm:
|
||||||
|
- 7
|
||||||
|
|
||||||
universal_binaries:
|
universal_binaries:
|
||||||
- replace: true
|
- replace: true
|
||||||
|
ids:
|
||||||
|
- with-upx
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
- format: binary
|
- format: binary
|
||||||
|
@ -35,6 +51,7 @@ nfpms:
|
||||||
maintainer: Satisfactory Modding Team <support@ficsit.app>
|
maintainer: Satisfactory Modding Team <support@ficsit.app>
|
||||||
description: CLI tool for Ficsit (Satisfactory Modding)
|
description: CLI tool for Ficsit (Satisfactory Modding)
|
||||||
license: GNU General Public License v3.0
|
license: GNU General Public License v3.0
|
||||||
|
file_name_template: "{{ .PackageName }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}"
|
||||||
formats:
|
formats:
|
||||||
- apk
|
- apk
|
||||||
- deb
|
- deb
|
||||||
|
|
59
README.md
Normal file
59
README.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# ficsit-cli [![push](https://github.com/Vilsol/ficsit-cli/actions/workflows/push.yaml/badge.svg)](https://github.com/Vilsol/ficsit-cli/actions/workflows/push.yaml) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/vilsol/ficsit-cli) ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/vilsol/ficsit-cli) [![GitHub license](https://img.shields.io/github/license/Vilsol/ficsit-cli)](https://github.com/Vilsol/ficsit-cli/blob/master/LICENSE) ![GitHub all releases](https://img.shields.io/github/downloads/vilsol/ficsit-cli/total)
|
||||||
|
|
||||||
|
A CLI tool for managing mods for the game Satisfactory
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
Download the appropriate `.exe` for your CPU architecture.
|
||||||
|
|
||||||
|
* [AMD64 (64-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_windows_amd64.exe)
|
||||||
|
* [386 (32-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_windows_386.exe)
|
||||||
|
* [ARM64 (64-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_windows_arm64.exe)
|
||||||
|
* [ARMv7 (32-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_windows_armv7.exe)
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
#### Arch
|
||||||
|
|
||||||
|
A package is published to AUR under the name [`ficsit-cli-bin`](https://aur.archlinux.org/packages/ficsit-cli-bin)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
yay -S ficsit-cli-bin
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Debian (inc. Ubuntu, Mint, PopOS!, etc)
|
||||||
|
|
||||||
|
Download the appropriate `.deb` for your CPU architecture.
|
||||||
|
|
||||||
|
* [AMD64 (64-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_amd64.deb)
|
||||||
|
* [386 (32-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_386.deb)
|
||||||
|
* [ARM64 (64-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_arm64.deb)
|
||||||
|
* [ARMv7 (32-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_armv7.deb)
|
||||||
|
* [PowerPC64](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_ppc64le.deb)
|
||||||
|
|
||||||
|
|
||||||
|
#### Fedora
|
||||||
|
|
||||||
|
Download the appropriate `.rpm` for your CPU architecture.
|
||||||
|
|
||||||
|
* [AMD64 (64-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_amd64.rpm)
|
||||||
|
* [386 (32-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_386.rpm)
|
||||||
|
* [ARM64 (64-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_arm64.rpm)
|
||||||
|
* [ARMv7 (32-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_armv7.rpm)
|
||||||
|
* [PowerPC64](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_ppc64le.rpm)
|
||||||
|
|
||||||
|
#### Alpine
|
||||||
|
|
||||||
|
Download the appropriate `.apk` for your CPU architecture.
|
||||||
|
|
||||||
|
* [AMD64 (64-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_amd64.apk)
|
||||||
|
* [386 (32-bit)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_386.apk)
|
||||||
|
* [ARM64 (64-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_arm64.apk)
|
||||||
|
* [ARMv7 (32-bit ARM)](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_armv7.apk)
|
||||||
|
* [PowerPC64](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_linux_ppc64le.apk)
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
Download the "all" build [here](https://github.com/Vilsol/ficsit-cli/releases/latest/download/ficsit_darwin_all).
|
|
@ -218,7 +218,7 @@ func (p *Profiles) GetProfile(name string) *Profile {
|
||||||
return p.Profiles[name]
|
return p.Profiles[name]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Profiles) RenameProfile(oldName string, newName string) error {
|
func (p *Profiles) RenameProfile(ctx *GlobalContext, oldName string, newName string) error {
|
||||||
if _, ok := p.Profiles[newName]; ok {
|
if _, ok := p.Profiles[newName]; ok {
|
||||||
return fmt.Errorf("profile with name %s already exists", newName)
|
return fmt.Errorf("profile with name %s already exists", newName)
|
||||||
}
|
}
|
||||||
|
@ -235,6 +235,12 @@ func (p *Profiles) RenameProfile(oldName string, newName string) error {
|
||||||
p.SelectedProfile = newName
|
p.SelectedProfile = newName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, installation := range ctx.Installations.Installations {
|
||||||
|
if installation.Profile == oldName {
|
||||||
|
installation.Profile = newName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
14
cmd/apply.go
Normal file
14
cmd/apply.go
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var applyCmd = &cobra.Command{
|
||||||
|
Use: "apply",
|
||||||
|
Short: "Apply profiles to all installations",
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
// TODO
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
15
cmd/cli.go
15
cmd/cli.go
|
@ -1,22 +1,25 @@
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/rs/zerolog/log"
|
||||||
"github.com/satisfactorymodding/ficsit-cli/cli"
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
"github.com/satisfactorymodding/ficsit-cli/tea"
|
"github.com/satisfactorymodding/ficsit-cli/tea"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
|
||||||
rootCmd.AddCommand(cliCmd)
|
|
||||||
}
|
|
||||||
|
|
||||||
var cliCmd = &cobra.Command{
|
var cliCmd = &cobra.Command{
|
||||||
Use: "cli",
|
Use: "cli",
|
||||||
Short: "Start interactive CLI",
|
Short: "Start interactive CLI (default)",
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
log.Info().
|
||||||
|
Str("version", viper.GetString("version")).
|
||||||
|
Str("commit", viper.GetString("commit")).
|
||||||
|
Msg("initialized")
|
||||||
|
|
||||||
global, err := cli.InitCLI()
|
global, err := cli.InitCLI()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return tea.RunTea(global)
|
return tea.RunTea(global)
|
||||||
|
|
34
cmd/installation/add.go
Normal file
34
cmd/installation/add.go
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package installation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(addCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var addCmd = &cobra.Command{
|
||||||
|
Use: "add <path> [profile]",
|
||||||
|
Short: "Add an installation",
|
||||||
|
Args: cobra.MinimumNArgs(1),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
profile := global.Profiles.SelectedProfile
|
||||||
|
if len(args) > 1 {
|
||||||
|
profile = args[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = global.Installations.AddInstallation(global, args[0], profile)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
28
cmd/installation/ls.go
Normal file
28
cmd/installation/ls.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package installation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(lsCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var lsCmd = &cobra.Command{
|
||||||
|
Use: "ls",
|
||||||
|
Short: "List all installations",
|
||||||
|
Args: cobra.NoArgs,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, install := range global.Installations.Installations {
|
||||||
|
println(install.Path, "-", install.Profile)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
29
cmd/installation/remove.go
Normal file
29
cmd/installation/remove.go
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
package installation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(removeCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var removeCmd = &cobra.Command{
|
||||||
|
Use: "remove <path>",
|
||||||
|
Short: "Remove an installation",
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = global.Installations.DeleteInstallation(args[0])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
10
cmd/installation/root.go
Normal file
10
cmd/installation/root.go
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
package installation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "installation",
|
||||||
|
Short: "Manage installations",
|
||||||
|
}
|
42
cmd/installation/set-profile.go
Normal file
42
cmd/installation/set-profile.go
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
package installation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(setProfileCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var setProfileCmd = &cobra.Command{
|
||||||
|
Use: "set-profile <path> <profile>",
|
||||||
|
Short: "Change the profile of an installation",
|
||||||
|
Args: cobra.ExactArgs(2),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
var installation *cli.Installation
|
||||||
|
for _, install := range global.Installations.Installations {
|
||||||
|
if install.Path == args[0] {
|
||||||
|
installation = install
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if installation == nil {
|
||||||
|
return errors.New("installation not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = installation.SetProfile(global, args[1])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
10
cmd/mod/root.go
Normal file
10
cmd/mod/root.go
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
package mod
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "mod",
|
||||||
|
Short: "Manage mods",
|
||||||
|
}
|
29
cmd/profile/delete.go
Normal file
29
cmd/profile/delete.go
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
package profile
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(deleteCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var deleteCmd = &cobra.Command{
|
||||||
|
Use: "delete <name>",
|
||||||
|
Short: "Delete a profile",
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = global.Profiles.DeleteProfile(args[0])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
28
cmd/profile/ls.go
Normal file
28
cmd/profile/ls.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package profile
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(lsCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var lsCmd = &cobra.Command{
|
||||||
|
Use: "ls",
|
||||||
|
Short: "List all profiles",
|
||||||
|
Args: cobra.NoArgs,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for name := range global.Profiles.Profiles {
|
||||||
|
println(name)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
40
cmd/profile/mod/add.go
Normal file
40
cmd/profile/mod/add.go
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
package mod
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(addCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var addCmd = &cobra.Command{
|
||||||
|
Use: "add <profile> <mod-reference> [version]",
|
||||||
|
Short: "Add mod to a profile",
|
||||||
|
Args: cobra.MinimumNArgs(2),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
version := ">=0.0.0"
|
||||||
|
if len(args) > 2 {
|
||||||
|
version = args[2]
|
||||||
|
}
|
||||||
|
|
||||||
|
profile := global.Profiles.GetProfile(args[0])
|
||||||
|
if profile == nil {
|
||||||
|
return fmt.Errorf("profile with name %s does not exist", args[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := profile.AddMod(args[1], version); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
33
cmd/profile/mod/remove.go
Normal file
33
cmd/profile/mod/remove.go
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
package mod
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(removeCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var removeCmd = &cobra.Command{
|
||||||
|
Use: "remove <profile> <mod-reference>",
|
||||||
|
Short: "Remove a mod from a profile",
|
||||||
|
Args: cobra.ExactArgs(2),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
profile := global.Profiles.GetProfile(args[0])
|
||||||
|
if profile == nil {
|
||||||
|
return fmt.Errorf("profile with name %s does not exist", args[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
profile.RemoveMod(args[1])
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
10
cmd/profile/mod/root.go
Normal file
10
cmd/profile/mod/root.go
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
package mod
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "mod",
|
||||||
|
Short: "Manage mods in a profile",
|
||||||
|
}
|
34
cmd/profile/mods.go
Normal file
34
cmd/profile/mods.go
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package profile
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(modsCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var modsCmd = &cobra.Command{
|
||||||
|
Use: "mods <profile>",
|
||||||
|
Short: "List all mods in a profile",
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
profile := global.Profiles.GetProfile(args[0])
|
||||||
|
if profile == nil {
|
||||||
|
return errors.New("profile not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
for reference, mod := range profile.Mods {
|
||||||
|
println(reference, mod.Version)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
29
cmd/profile/new.go
Normal file
29
cmd/profile/new.go
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
package profile
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(newCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var newCmd = &cobra.Command{
|
||||||
|
Use: "new <name>",
|
||||||
|
Short: "Create a new profile",
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = global.Profiles.AddProfile(args[0])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
29
cmd/profile/rename.go
Normal file
29
cmd/profile/rename.go
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
package profile
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cli"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(renameCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var renameCmd = &cobra.Command{
|
||||||
|
Use: "rename <old> <name>",
|
||||||
|
Short: "Rename a profile",
|
||||||
|
Args: cobra.ExactArgs(2),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
global, err := cli.InitCLI()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = global.Profiles.RenameProfile(global, args[0], args[1])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return global.Save()
|
||||||
|
},
|
||||||
|
}
|
10
cmd/profile/root.go
Normal file
10
cmd/profile/root.go
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
package profile
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "profile",
|
||||||
|
Short: "Manage profiles",
|
||||||
|
}
|
71
cmd/root.go
71
cmd/root.go
|
@ -8,15 +8,17 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/pterm/pterm"
|
"github.com/pterm/pterm"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cmd/installation"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cmd/mod"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cmd/profile"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var rootCmd = &cobra.Command{
|
var RootCmd = &cobra.Command{
|
||||||
Use: "ficsit",
|
Use: "ficsit",
|
||||||
Short: "cli mod manager for satisfactory",
|
Short: "cli mod manager for satisfactory",
|
||||||
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
|
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
@ -60,26 +62,21 @@ var rootCmd = &cobra.Command{
|
||||||
|
|
||||||
log.Logger = zerolog.New(io.MultiWriter(writers...)).With().Timestamp().Logger()
|
log.Logger = zerolog.New(io.MultiWriter(writers...)).With().Timestamp().Logger()
|
||||||
|
|
||||||
log.Info().
|
|
||||||
Str("version", viper.GetString("version")).
|
|
||||||
Str("commit", viper.GetString("commit")).
|
|
||||||
Msg("initialized")
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func Execute(version string, commit string) {
|
func Execute(version string, commit string) {
|
||||||
// Execute tea as default
|
// Execute tea as default
|
||||||
cmd, _, err := rootCmd.Find(os.Args[1:])
|
cmd, _, err := RootCmd.Find(os.Args[1:])
|
||||||
|
|
||||||
// Allow opening via explorer
|
// Allow opening via explorer
|
||||||
cobra.MousetrapHelpText = ""
|
cobra.MousetrapHelpText = ""
|
||||||
|
|
||||||
cli := len(os.Args) >= 2 && os.Args[1] == "cli"
|
cli := len(os.Args) >= 2 && os.Args[1] == "cli"
|
||||||
if (len(os.Args) <= 1 || os.Args[1] != "help") && (err != nil || cmd == rootCmd) {
|
if (len(os.Args) <= 1 || os.Args[1] != "help") && (err != nil || cmd == RootCmd) {
|
||||||
args := append([]string{"cli"}, os.Args[1:]...)
|
args := append([]string{"cli"}, os.Args[1:]...)
|
||||||
rootCmd.SetArgs(args)
|
RootCmd.SetArgs(args)
|
||||||
cli = true
|
cli = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,12 +88,20 @@ func Execute(version string, commit string) {
|
||||||
viper.Set("version", version)
|
viper.Set("version", version)
|
||||||
viper.Set("commit", commit)
|
viper.Set("commit", commit)
|
||||||
|
|
||||||
if err := rootCmd.Execute(); err != nil {
|
if err := RootCmd.Execute(); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
RootCmd.AddCommand(cliCmd)
|
||||||
|
RootCmd.AddCommand(applyCmd)
|
||||||
|
RootCmd.AddCommand(versionCmd)
|
||||||
|
RootCmd.AddCommand(searchCmd)
|
||||||
|
RootCmd.AddCommand(profile.Cmd)
|
||||||
|
RootCmd.AddCommand(installation.Cmd)
|
||||||
|
RootCmd.AddCommand(mod.Cmd)
|
||||||
|
|
||||||
var baseLocalDir string
|
var baseLocalDir string
|
||||||
|
|
||||||
switch runtime.GOOS {
|
switch runtime.GOOS {
|
||||||
|
@ -115,33 +120,33 @@ func init() {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
rootCmd.PersistentFlags().String("log", "info", "The log level to output")
|
RootCmd.PersistentFlags().String("log", "info", "The log level to output")
|
||||||
rootCmd.PersistentFlags().String("log-file", "", "File to output logs to")
|
RootCmd.PersistentFlags().String("log-file", "", "File to output logs to")
|
||||||
rootCmd.PersistentFlags().Bool("quiet", false, "Do not log anything to console")
|
RootCmd.PersistentFlags().Bool("quiet", false, "Do not log anything to console")
|
||||||
rootCmd.PersistentFlags().Bool("pretty", true, "Whether to render pretty terminal output")
|
RootCmd.PersistentFlags().Bool("pretty", true, "Whether to render pretty terminal output")
|
||||||
|
|
||||||
rootCmd.PersistentFlags().Bool("dry-run", false, "Dry-run. Do not save any changes")
|
RootCmd.PersistentFlags().Bool("dry-run", false, "Dry-run. Do not save any changes")
|
||||||
|
|
||||||
rootCmd.PersistentFlags().String("cache-dir", filepath.Clean(filepath.Join(baseCacheDir, "ficsit")), "The cache directory")
|
RootCmd.PersistentFlags().String("cache-dir", filepath.Clean(filepath.Join(baseCacheDir, "ficsit")), "The cache directory")
|
||||||
rootCmd.PersistentFlags().String("local-dir", filepath.Clean(filepath.Join(baseLocalDir, "ficsit")), "The local directory")
|
RootCmd.PersistentFlags().String("local-dir", filepath.Clean(filepath.Join(baseLocalDir, "ficsit")), "The local directory")
|
||||||
rootCmd.PersistentFlags().String("profiles-file", "profiles.json", "The profiles file")
|
RootCmd.PersistentFlags().String("profiles-file", "profiles.json", "The profiles file")
|
||||||
rootCmd.PersistentFlags().String("installations-file", "installations.json", "The installations file")
|
RootCmd.PersistentFlags().String("installations-file", "installations.json", "The installations file")
|
||||||
|
|
||||||
rootCmd.PersistentFlags().String("api-base", "https://api.ficsit.app", "URL for API")
|
RootCmd.PersistentFlags().String("api-base", "https://api.ficsit.app", "URL for API")
|
||||||
rootCmd.PersistentFlags().String("graphql-api", "/v2/query", "Path for GraphQL API")
|
RootCmd.PersistentFlags().String("graphql-api", "/v2/query", "Path for GraphQL API")
|
||||||
|
|
||||||
_ = viper.BindPFlag("log", rootCmd.PersistentFlags().Lookup("log"))
|
_ = viper.BindPFlag("log", RootCmd.PersistentFlags().Lookup("log"))
|
||||||
_ = viper.BindPFlag("log-file", rootCmd.PersistentFlags().Lookup("log-file"))
|
_ = viper.BindPFlag("log-file", RootCmd.PersistentFlags().Lookup("log-file"))
|
||||||
_ = viper.BindPFlag("quiet", rootCmd.PersistentFlags().Lookup("quiet"))
|
_ = viper.BindPFlag("quiet", RootCmd.PersistentFlags().Lookup("quiet"))
|
||||||
_ = viper.BindPFlag("pretty", rootCmd.PersistentFlags().Lookup("pretty"))
|
_ = viper.BindPFlag("pretty", RootCmd.PersistentFlags().Lookup("pretty"))
|
||||||
|
|
||||||
_ = viper.BindPFlag("dry-run", rootCmd.PersistentFlags().Lookup("dry-run"))
|
_ = viper.BindPFlag("dry-run", RootCmd.PersistentFlags().Lookup("dry-run"))
|
||||||
|
|
||||||
_ = viper.BindPFlag("cache-dir", rootCmd.PersistentFlags().Lookup("cache-dir"))
|
_ = viper.BindPFlag("cache-dir", RootCmd.PersistentFlags().Lookup("cache-dir"))
|
||||||
_ = viper.BindPFlag("local-dir", rootCmd.PersistentFlags().Lookup("local-dir"))
|
_ = viper.BindPFlag("local-dir", RootCmd.PersistentFlags().Lookup("local-dir"))
|
||||||
_ = viper.BindPFlag("profiles-file", rootCmd.PersistentFlags().Lookup("profiles-file"))
|
_ = viper.BindPFlag("profiles-file", RootCmd.PersistentFlags().Lookup("profiles-file"))
|
||||||
_ = viper.BindPFlag("installations-file", rootCmd.PersistentFlags().Lookup("installations-file"))
|
_ = viper.BindPFlag("installations-file", RootCmd.PersistentFlags().Lookup("installations-file"))
|
||||||
|
|
||||||
_ = viper.BindPFlag("api-base", rootCmd.PersistentFlags().Lookup("api-base"))
|
_ = viper.BindPFlag("api-base", RootCmd.PersistentFlags().Lookup("api-base"))
|
||||||
_ = viper.BindPFlag("graphql-api", rootCmd.PersistentFlags().Lookup("graphql-api"))
|
_ = viper.BindPFlag("graphql-api", RootCmd.PersistentFlags().Lookup("graphql-api"))
|
||||||
}
|
}
|
||||||
|
|
68
cmd/search.go
Normal file
68
cmd/search.go
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/ficsit"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/spf13/viper"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
searchCmd.PersistentFlags().Int("offset", 0, "Offset of the search")
|
||||||
|
searchCmd.PersistentFlags().Int("limit", 10, "Limit of the search")
|
||||||
|
searchCmd.PersistentFlags().String("order", "desc", "Sort order of the search")
|
||||||
|
searchCmd.PersistentFlags().String("order-by", "last_version_date", "Order field of the search")
|
||||||
|
searchCmd.PersistentFlags().String("format", "list", "Order field of the search")
|
||||||
|
|
||||||
|
_ = viper.BindPFlag("offset", searchCmd.PersistentFlags().Lookup("offset"))
|
||||||
|
_ = viper.BindPFlag("limit", searchCmd.PersistentFlags().Lookup("limit"))
|
||||||
|
_ = viper.BindPFlag("order", searchCmd.PersistentFlags().Lookup("order"))
|
||||||
|
_ = viper.BindPFlag("order-by", searchCmd.PersistentFlags().Lookup("order-by"))
|
||||||
|
_ = viper.BindPFlag("format", searchCmd.PersistentFlags().Lookup("format"))
|
||||||
|
}
|
||||||
|
|
||||||
|
var searchCmd = &cobra.Command{
|
||||||
|
Use: "search [query]",
|
||||||
|
Short: "Search mods",
|
||||||
|
Args: cobra.MaximumNArgs(1),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
client := ficsit.InitAPI()
|
||||||
|
|
||||||
|
search := ""
|
||||||
|
if len(args) > 0 {
|
||||||
|
search = args[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
response, err := ficsit.Mods(cmd.Context(), client, ficsit.ModFilter{
|
||||||
|
Limit: viper.GetInt("limit"),
|
||||||
|
Offset: viper.GetInt("offset"),
|
||||||
|
Order: ficsit.Order(viper.GetString("order")),
|
||||||
|
Order_by: ficsit.ModFields(viper.GetString("order-by")),
|
||||||
|
Search: search,
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
modList := response.Mods.Mods
|
||||||
|
|
||||||
|
switch viper.GetString("format") {
|
||||||
|
default:
|
||||||
|
for _, mod := range modList {
|
||||||
|
println(fmt.Sprintf("%s (%s)", mod.Name, mod.Mod_reference))
|
||||||
|
}
|
||||||
|
case "json":
|
||||||
|
result, err := json.MarshalIndent(modList, "", " ")
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "failed converting mods to json")
|
||||||
|
}
|
||||||
|
println(string(result))
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
14
cmd/version.go
Normal file
14
cmd/version.go
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/spf13/viper"
|
||||||
|
)
|
||||||
|
|
||||||
|
var versionCmd = &cobra.Command{
|
||||||
|
Use: "version",
|
||||||
|
Short: "Print current version information",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
println(viper.GetString("version"), "-", viper.GetString("commit"))
|
||||||
|
},
|
||||||
|
}
|
31
docs/ficsit.md
Normal file
31
docs/ficsit.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
## ficsit
|
||||||
|
|
||||||
|
cli mod manager for satisfactory
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
-h, --help help for ficsit
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit apply](ficsit_apply.md) - Apply profiles to all installations
|
||||||
|
* [ficsit cli](ficsit_cli.md) - Start interactive CLI (default)
|
||||||
|
* [ficsit installation](ficsit_installation.md) - Manage installations
|
||||||
|
* [ficsit profile](ficsit_profile.md) - Manage profiles
|
||||||
|
* [ficsit search](ficsit_search.md) - Search mods
|
||||||
|
* [ficsit version](ficsit_version.md) - Print current version information
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_apply.md
Normal file
35
docs/ficsit_apply.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit apply
|
||||||
|
|
||||||
|
Apply profiles to all installations
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit apply [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for apply
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit](ficsit.md) - cli mod manager for satisfactory
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_cli.md
Normal file
35
docs/ficsit_cli.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit cli
|
||||||
|
|
||||||
|
Start interactive CLI (default)
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit cli [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for cli
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit](ficsit.md) - cli mod manager for satisfactory
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_installation.md
Normal file
35
docs/ficsit_installation.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit installation
|
||||||
|
|
||||||
|
Manage installations
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for installation
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit](ficsit.md) - cli mod manager for satisfactory
|
||||||
|
* [ficsit installation add](ficsit_installation_add.md) - Add an installation
|
||||||
|
* [ficsit installation ls](ficsit_installation_ls.md) - List all installations
|
||||||
|
* [ficsit installation remove](ficsit_installation_remove.md) - Remove an installation
|
||||||
|
* [ficsit installation set-profile](ficsit_installation_set-profile.md) - Change the profile of an installation
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_installation_add.md
Normal file
35
docs/ficsit_installation_add.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit installation add
|
||||||
|
|
||||||
|
Add an installation
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit installation add <path> [profile] [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for add
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit installation](ficsit_installation.md) - Manage installations
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_installation_ls.md
Normal file
35
docs/ficsit_installation_ls.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit installation ls
|
||||||
|
|
||||||
|
List all installations
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit installation ls [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for ls
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit installation](ficsit_installation.md) - Manage installations
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_installation_remove.md
Normal file
35
docs/ficsit_installation_remove.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit installation remove
|
||||||
|
|
||||||
|
Remove an installation
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit installation remove <path> [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for remove
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit installation](ficsit_installation.md) - Manage installations
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_installation_set-profile.md
Normal file
35
docs/ficsit_installation_set-profile.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit installation set-profile
|
||||||
|
|
||||||
|
Change the profile of an installation
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit installation set-profile <path> <profile> [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for set-profile
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit installation](ficsit_installation.md) - Manage installations
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
36
docs/ficsit_profile.md
Normal file
36
docs/ficsit_profile.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
## ficsit profile
|
||||||
|
|
||||||
|
Manage profiles
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for profile
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit](ficsit.md) - cli mod manager for satisfactory
|
||||||
|
* [ficsit profile delete](ficsit_profile_delete.md) - Delete a profile
|
||||||
|
* [ficsit profile ls](ficsit_profile_ls.md) - List all profiles
|
||||||
|
* [ficsit profile mods](ficsit_profile_mods.md) - List all mods in a profile
|
||||||
|
* [ficsit profile new](ficsit_profile_new.md) - Create a new profile
|
||||||
|
* [ficsit profile rename](ficsit_profile_rename.md) - Rename a profile
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_profile_delete.md
Normal file
35
docs/ficsit_profile_delete.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit profile delete
|
||||||
|
|
||||||
|
Delete a profile
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit profile delete <name> [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for delete
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit profile](ficsit_profile.md) - Manage profiles
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_profile_ls.md
Normal file
35
docs/ficsit_profile_ls.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit profile ls
|
||||||
|
|
||||||
|
List all profiles
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit profile ls [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for ls
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit profile](ficsit_profile.md) - Manage profiles
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_profile_mods.md
Normal file
35
docs/ficsit_profile_mods.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit profile mods
|
||||||
|
|
||||||
|
List all mods in a profile
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit profile mods <profile> [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for mods
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit profile](ficsit_profile.md) - Manage profiles
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_profile_new.md
Normal file
35
docs/ficsit_profile_new.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit profile new
|
||||||
|
|
||||||
|
Create a new profile
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit profile new <name> [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for new
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit profile](ficsit_profile.md) - Manage profiles
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_profile_rename.md
Normal file
35
docs/ficsit_profile_rename.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit profile rename
|
||||||
|
|
||||||
|
Rename a profile
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit profile rename <old> <name> [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for rename
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit profile](ficsit_profile.md) - Manage profiles
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
40
docs/ficsit_search.md
Normal file
40
docs/ficsit_search.md
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
## ficsit search
|
||||||
|
|
||||||
|
Search mods
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit search [query] [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
--format string Order field of the search (default "list")
|
||||||
|
-h, --help help for search
|
||||||
|
--limit int Limit of the search (default 10)
|
||||||
|
--offset int Offset of the search
|
||||||
|
--order string Sort order of the search (default "desc")
|
||||||
|
--order-by string Order field of the search (default "last_version_date")
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit](ficsit.md) - cli mod manager for satisfactory
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
35
docs/ficsit_version.md
Normal file
35
docs/ficsit_version.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
## ficsit version
|
||||||
|
|
||||||
|
Print current version information
|
||||||
|
|
||||||
|
```
|
||||||
|
ficsit version [flags]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
-h, --help help for version
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options inherited from parent commands
|
||||||
|
|
||||||
|
```
|
||||||
|
--api-base string URL for API (default "https://api.ficsit.app")
|
||||||
|
--cache-dir string The cache directory (default "/home/vilsol/.cache/ficsit")
|
||||||
|
--dry-run Dry-run. Do not save any changes
|
||||||
|
--graphql-api string Path for GraphQL API (default "/v2/query")
|
||||||
|
--installations-file string The installations file (default "installations.json")
|
||||||
|
--local-dir string The local directory (default "/home/vilsol/.local/share/ficsit")
|
||||||
|
--log string The log level to output (default "info")
|
||||||
|
--log-file string File to output logs to
|
||||||
|
--pretty Whether to render pretty terminal output (default true)
|
||||||
|
--profiles-file string The profiles file (default "profiles.json")
|
||||||
|
--quiet Do not log anything to console
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [ficsit](ficsit.md) - cli mod manager for satisfactory
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 8-Jun-2022
|
4
go.mod
4
go.mod
|
@ -34,6 +34,7 @@ require (
|
||||||
github.com/aymerick/douceur v0.2.0 // indirect
|
github.com/aymerick/douceur v0.2.0 // indirect
|
||||||
github.com/charmbracelet/harmonica v0.2.0 // indirect
|
github.com/charmbracelet/harmonica v0.2.0 // indirect
|
||||||
github.com/containerd/console v1.0.3 // indirect
|
github.com/containerd/console v1.0.3 // indirect
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
github.com/dlclark/regexp2 v1.4.0 // indirect
|
github.com/dlclark/regexp2 v1.4.0 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.5.4 // indirect
|
github.com/fsnotify/fsnotify v1.5.4 // indirect
|
||||||
|
@ -55,6 +56,7 @@ require (
|
||||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||||
github.com/pelletier/go-toml/v2 v2.0.1 // indirect
|
github.com/pelletier/go-toml/v2 v2.0.1 // indirect
|
||||||
github.com/rivo/uniseg v0.2.0 // indirect
|
github.com/rivo/uniseg v0.2.0 // indirect
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
github.com/sergi/go-diff v1.2.0 // indirect
|
github.com/sergi/go-diff v1.2.0 // indirect
|
||||||
github.com/spf13/afero v1.8.2 // indirect
|
github.com/spf13/afero v1.8.2 // indirect
|
||||||
github.com/spf13/cast v1.5.0 // indirect
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
|
@ -65,7 +67,7 @@ require (
|
||||||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
||||||
github.com/yuin/goldmark v1.4.4 // indirect
|
github.com/yuin/goldmark v1.4.4 // indirect
|
||||||
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
||||||
golang.org/x/mod v0.5.0 // indirect
|
golang.org/x/mod v0.4.2 // indirect
|
||||||
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect
|
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect
|
||||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
||||||
|
|
5
go.sum
5
go.sum
|
@ -103,6 +103,7 @@ github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARu
|
||||||
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
|
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
|
||||||
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
@ -279,6 +280,7 @@ github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
||||||
github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc=
|
github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc=
|
||||||
github.com/rs/zerolog v1.26.1/go.mod h1:/wSSJWX7lVrsOwlbyTRSOJvqRlc+WjWlfes+CiJ+tmc=
|
github.com/rs/zerolog v1.26.1/go.mod h1:/wSSJWX7lVrsOwlbyTRSOJvqRlc+WjWlfes+CiJ+tmc=
|
||||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/sahilm/fuzzy v0.1.0 h1:FzWGaw2Opqyu+794ZQ9SYifWv2EIXpwP4q8dY1kDAwI=
|
github.com/sahilm/fuzzy v0.1.0 h1:FzWGaw2Opqyu+794ZQ9SYifWv2EIXpwP4q8dY1kDAwI=
|
||||||
github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
|
github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
|
||||||
|
@ -380,9 +382,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
|
golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
|
||||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q=
|
|
||||||
golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
|
|
||||||
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
|
|
@ -52,7 +52,7 @@ func (m renameProfile) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||||
case KeyEscape:
|
case KeyEscape:
|
||||||
return m.parent, nil
|
return m.parent, nil
|
||||||
case KeyEnter:
|
case KeyEnter:
|
||||||
if err := m.root.GetGlobal().Profiles.RenameProfile(m.oldName, m.input.Value()); err != nil {
|
if err := m.root.GetGlobal().Profiles.RenameProfile(m.root.GetGlobal(), m.oldName, m.input.Value()); err != nil {
|
||||||
errorComponent, cmd := components.NewErrorComponent(err.Error(), time.Second*5)
|
errorComponent, cmd := components.NewErrorComponent(err.Error(), time.Second*5)
|
||||||
m.error = errorComponent
|
m.error = errorComponent
|
||||||
return m, cmd
|
return m, cmd
|
||||||
|
|
23
tools.go
23
tools.go
|
@ -1,8 +1,27 @@
|
||||||
//go:build tools
|
//go:build tools
|
||||||
// +build tools
|
// +build tools
|
||||||
|
|
||||||
package smr
|
package main
|
||||||
|
|
||||||
import _ "github.com/Khan/genqlient"
|
import (
|
||||||
|
_ "github.com/Khan/genqlient/generate"
|
||||||
|
"github.com/satisfactorymodding/ficsit-cli/cmd"
|
||||||
|
"github.com/spf13/cobra/doc"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:generate go run -tags tools tools.go
|
||||||
//go:generate go run github.com/Khan/genqlient
|
//go:generate go run github.com/Khan/genqlient
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
_ = os.RemoveAll("./docs/")
|
||||||
|
|
||||||
|
if err := os.Mkdir("./docs/", 0777); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err := doc.GenMarkdownTree(cmd.RootCmd, "./docs/")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue