2020-10-16 08:43:02 -07:00
|
|
|
package main
|
|
|
|
|
|
|
|
type dotnet struct {
|
2021-12-03 11:19:57 -08:00
|
|
|
language
|
2020-10-16 08:43:02 -07:00
|
|
|
|
2022-01-22 10:46:56 -08:00
|
|
|
Unsupported bool
|
|
|
|
}
|
2020-10-16 08:43:02 -07:00
|
|
|
|
|
|
|
func (d *dotnet) string() string {
|
2022-01-22 10:46:56 -08:00
|
|
|
segmentTemplate := d.language.props.getString(SegmentTemplate, "")
|
|
|
|
if len(segmentTemplate) != 0 {
|
|
|
|
return d.language.renderTemplate(segmentTemplate, d)
|
|
|
|
}
|
|
|
|
if d.Unsupported {
|
2020-12-27 23:33:58 -08:00
|
|
|
return d.language.props.getString(UnsupportedDotnetVersionIcon, "\uf071 ")
|
2020-10-16 08:43:02 -07:00
|
|
|
}
|
2022-01-22 10:46:56 -08:00
|
|
|
return d.language.string()
|
2020-10-16 08:43:02 -07:00
|
|
|
}
|
|
|
|
|
2022-01-01 11:09:52 -08:00
|
|
|
func (d *dotnet) init(props Properties, env Environment) {
|
2021-12-03 11:19:57 -08:00
|
|
|
d.language = language{
|
2021-02-03 10:11:32 -08:00
|
|
|
env: env,
|
|
|
|
props: props,
|
2021-10-13 06:30:47 -07:00
|
|
|
extensions: []string{"*.cs", "*.csx", "*.vb", "*.sln", "*.csproj", "*.vbproj", "*.fs", "*.fsx", "*.fsproj", "global.json"},
|
2021-02-03 10:11:32 -08:00
|
|
|
commands: []*cmd{
|
|
|
|
{
|
|
|
|
executable: "dotnet",
|
|
|
|
args: []string{"--version"},
|
2021-11-07 10:55:22 -08:00
|
|
|
regex: `(?P<version>((?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)` +
|
|
|
|
`(?:-(?P<prerelease>(?: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<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?))`,
|
2021-02-03 10:11:32 -08:00
|
|
|
},
|
2021-01-10 03:14:43 -08:00
|
|
|
},
|
2021-02-03 10:11:32 -08:00
|
|
|
versionURLTemplate: "[%1s](https://github.com/dotnet/core/blob/master/release-notes/%[2]s.%[3]s/%[2]s.%[3]s.%[4]s/%[2]s.%[3]s.%[4]s.md)",
|
2020-12-27 23:33:58 -08:00
|
|
|
}
|
2020-10-16 08:43:02 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (d *dotnet) enabled() bool {
|
2022-01-22 10:46:56 -08:00
|
|
|
enabled := d.language.enabled()
|
|
|
|
if !enabled {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
d.Unsupported = d.language.exitCode == dotnetExitCode
|
|
|
|
return true
|
2020-10-16 08:43:02 -07:00
|
|
|
}
|