MCPcopy Create free account
hub / github.com/Mister-leo/fssh / Load

Function Load

internal/config/config.go:27–51  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

25}
26
27func Load() (*Config, error) {
28 home, err := os.UserHomeDir()
29 if err != nil {
30 return nil, err
31 }
32 p := filepath.Join(home, ".fssh", "config.json")
33 b, err := os.ReadFile(p)
34 if err != nil {
35 if errors.Is(err, os.ErrNotExist) {
36 c := &Config{}
37 c.ApplyDefaults()
38 return c, nil
39 }
40 return nil, err
41 }
42 var c Config
43 if err := json.Unmarshal(b, &c); err != nil {
44 return nil, err
45 }
46 c.Socket = expandHome(c.Socket)
47 c.LogOut = expandHome(c.LogOut)
48 c.LogErr = expandHome(c.LogErr)
49 c.ApplyDefaults()
50 return &c, nil
51}
52
53func (c *Config) ApplyDefaults() {
54 if c.Socket == "" { c.Socket = defaultSocket() }

Callers 3

printSetupCompleteFunction · 0.92
cmdConfigGenFunction · 0.92
cmdAgentFunction · 0.92

Calls 2

ApplyDefaultsMethod · 0.95
expandHomeFunction · 0.85

Tested by

no test coverage detected