viye/internal/plumbing/neofetch/neofetch.go (view raw)
| 1 | package neofetch |
| 2 | |
| 3 | import ( |
| 4 | "fmt" |
| 5 | "strings" |
| 6 | |
| 7 | "github.com/olexsmir/viye/internal/osutil" |
| 8 | "github.com/olexsmir/viye/internal/version" |
| 9 | "github.com/olexsmir/viye/internal/viye" |
| 10 | ) |
| 11 | |
| 12 | type Tool struct{} |
| 13 | |
| 14 | func (Tool) Name() string { return "neofetch" } |
| 15 | func (Tool) Match(c *viye.Context) bool { return c.Cmd == "neofetch" } |
| 16 | func (Tool) Execute(c *viye.Context) (string, error) { |
| 17 | kernel, _ := osutil.GetKernel() |
| 18 | osname, _ := osutil.GetOS() |
| 19 | cpu, _ := osutil.GetCPU() |
| 20 | mem, _ := osutil.GetMemory() |
| 21 | uptime, _ := osutil.GetUptime() |
| 22 | |
| 23 | var buf strings.Builder |
| 24 | _, _ = fmt.Fprintf(&buf, "| OS: %s (%s)\n", osname, kernel) |
| 25 | _, _ = fmt.Fprintf(&buf, "| SYS: %s ยท %s\n", cpu, mem) |
| 26 | _, _ = fmt.Fprintf(&buf, "| Uptime: %s\n", uptime) |
| 27 | _, _ = fmt.Fprintf(&buf, "| Viye: %s\n", version.Version) |
| 28 | return buf.String(), nil |
| 29 | } |