fix structure error
This commit is contained in:
@@ -7,7 +7,8 @@ import (
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
program := cmd.NewCLI()
|
program := cmd.NewCLI()
|
||||||
cmd := program.Run()
|
parsed := program.Run()
|
||||||
|
|
||||||
fmt.Printf("%+v\n", cmd)
|
fmt.Printf("%+v\n", parsed)
|
||||||
|
fmt.Printf("%#v\n", parsed)
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
internal/.DS_Store
vendored
Normal file
BIN
internal/.DS_Store
vendored
Normal file
Binary file not shown.
@@ -6,42 +6,31 @@ import (
|
|||||||
"github.com/alecthomas/kong"
|
"github.com/alecthomas/kong"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Функция создания флагов и рагументов
|
// Структура CLI
|
||||||
func getNewCmd() *CMD {
|
type CLI struct {
|
||||||
return &CMD{}
|
parser *kong.Kong
|
||||||
|
cmd CMD
|
||||||
}
|
}
|
||||||
|
|
||||||
// Функция создания парсера
|
// Создания экземпляра CLI
|
||||||
func getNewParser() *kong.Kong {
|
func NewCLI() *CLI {
|
||||||
return kong.Must(
|
c := &CLI{}
|
||||||
|
|
||||||
|
c.parser = kong.Must(
|
||||||
|
&c.cmd,
|
||||||
kong.Name("mftecmd"),
|
kong.Name("mftecmd"),
|
||||||
kong.Description("Utility for processing $MFT, $J, $LogFile, $Boot, $SDS"),
|
kong.Description("Utility for processing $MFT, $J, $LogFile, $Boot, $SDS"),
|
||||||
kong.UsageOnError(),
|
kong.UsageOnError(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Структура CLI
|
// Метод запуска CLI
|
||||||
type cli struct {
|
func (c *CLI) Run() *CMD {
|
||||||
parser kong.Kong // Парсер
|
|
||||||
cmd CMD // Аргументы
|
|
||||||
}
|
|
||||||
|
|
||||||
// Создания экземпляра CLI.
|
|
||||||
// Возвращает указатель на экземпляр CLI
|
|
||||||
func NewCLI() *cli {
|
|
||||||
return &cli{
|
|
||||||
parser: *getNewParser(),
|
|
||||||
cmd: *getNewCmd(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Метод запуска CLI.
|
|
||||||
// Возвращает cmd - экземпляр структуры аргументов и ошибку
|
|
||||||
func (c *cli) Run() *CMD {
|
|
||||||
var cmd CMD
|
|
||||||
ctx, err := c.parser.Parse(os.Args[1:])
|
ctx, err := c.parser.Parse(os.Args[1:])
|
||||||
c.parser.FatalIfErrorf(err)
|
c.parser.FatalIfErrorf(err)
|
||||||
_ = ctx
|
_ = ctx
|
||||||
|
|
||||||
return &cmd
|
return &c.cmd
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user