Package Status:

- Rework for the management of mandatory components to qualify the global status.
- Added qualification to components: "should", "must", "one of".
- These qualifications will influence the overall state but not the unitary state of each component.

Package Socket:
- Creation package to open and listen local unix file socket
- Allow to specify a handler who's needing a conn instance as entry
- Create a client sub package to allow negociate with the local unix file socket

Package Shell:
- adding sub package for command and command collection

Package Monitor:
- add function to expose monitor command for shell

Package Config:
- add function to expose monitor command for shell

Package Network:
- Add "IP" protocol

Pakcage Httpcli:
- Rework the construction of the client
- Add capability to specify proxy url

Package Cobra:
- add function to add flag to global command like verbose or config

Package Log:
- fix seg fault when calling a nil instance
- remove println in hookfile / hooksyslog
This commit is contained in:
Nicolas JUHEL
2023-07-24 09:03:08 +02:00
committed by nabbar
parent bb2f7f55c7
commit 7cd4eadc50
52 changed files with 2371 additions and 260 deletions

View File

@@ -30,30 +30,24 @@ package shell
import (
"io"
"github.com/c-bata/go-prompt"
libshl "github.com/c-bata/go-prompt"
liberr "github.com/nabbar/golib/errors"
shlcmd "github.com/nabbar/golib/shell/command"
)
type Command interface {
Name() string
Describe() string
Run(buf io.Writer, err io.Writer, args []string)
}
type Shell interface {
Run(buf io.Writer, err io.Writer, args []string)
Add(prefix string, cmd ...Command)
Get(cmd string) []Command
Add(prefix string, cmd ...shlcmd.Command)
Get(cmd string) []shlcmd.Command
Desc(cmd string) map[string]string
Walk(fct func(name string, item Command) (Command, liberr.Error)) liberr.Error
Walk(fct func(name string, item shlcmd.Command) (shlcmd.Command, liberr.Error)) liberr.Error
//go prompt
RunPrompt(out, err io.Writer, opt ...prompt.Option)
RunPrompt(out, err io.Writer, opt ...libshl.Option)
}
func New() Shell {
return &shell{
c: make(map[string]Command),
c: make(map[string]shlcmd.Command),
}
}