package main import "oh-my-posh/environment" type dotnet struct { language Unsupported bool } func (d *dotnet) template() string { return "{{ if .Unsupported }}\uf071{{ else }}{{ .Full }}{{ end }}" } func (d *dotnet) init(props Properties, env environment.Environment) { d.language = language{ env: env, props: props, extensions: []string{"*.cs", "*.csx", "*.vb", "*.sln", "*.csproj", "*.vbproj", "*.fs", "*.fsx", "*.fsproj", "global.json"}, commands: []*cmd{ { executable: "dotnet", args: []string{"--version"}, regex: `(?P((?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)` + `(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?))`, }, }, versionURLTemplate: "https://github.com/dotnet/core/blob/master/release-notes/{{ .Major }}.{{ .Minor }}/{{ .Major }}.{{ .Minor }}.{{ .Patch }}/{{ .Major }}.{{ .Minor }}.{{ .Patch }}.md)", // nolint: lll } } func (d *dotnet) enabled() bool { enabled := d.language.enabled() if !enabled { return false } d.Unsupported = d.language.exitCode == dotnetExitCode return true }