all repos

viye @ 089144fdd711d2f3e016714c6a1a7942330a1d36

my shot at reimplementing xiki

viye/internal/plumbing/neofetch/neofetch.go (view raw)

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