oh-my-posh/src/segments/connection.go
2022-12-28 20:17:59 +01:00

43 lines
902 B
Go

package segments
import (
"strings"
"github.com/jandedobbeleer/oh-my-posh/platform"
"github.com/jandedobbeleer/oh-my-posh/properties"
)
type Connection struct {
props properties.Properties
env platform.Environment
platform.Connection
}
const (
Type properties.Property = "type"
)
func (c *Connection) Template() string {
return " {{ if eq .Type \"wifi\"}}\uf1eb{{ else if eq .Type \"ethernet\"}}\uf6ff{{ end }} "
}
func (c *Connection) Enabled() bool {
types := c.props.GetString(Type, "wifi|ethernet")
connectionTypes := strings.Split(types, "|")
for _, connectionType := range connectionTypes {
network, err := c.env.Connection(platform.ConnectionType(connectionType))
if err != nil {
continue
}
c.Connection = *network
return true
}
return false
}
func (c *Connection) Init(props properties.Properties, env platform.Environment) {
c.props = props
c.env = env
}