all repos

viye @ aac48460ab9c49d76dc3bf15746ee66308cd50a7

my shot at reimplementing xiki

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

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
add neofetch, 2 months 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/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
}