mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-02-21 02:55:37 -08:00
parent
ebc7777e90
commit
db32446a74
|
@ -69,6 +69,33 @@ func (n *Node) matchesVersionFile() (string, bool) {
|
|||
return "", true
|
||||
}
|
||||
|
||||
fileVersion = strings.TrimSpace(fileVersion)
|
||||
|
||||
if strings.HasPrefix(fileVersion, "lts/") {
|
||||
fileVersion = strings.ToLower(fileVersion)
|
||||
codeName := strings.TrimPrefix(fileVersion, "lts/")
|
||||
switch codeName {
|
||||
case "argon":
|
||||
fileVersion = "4.9.1"
|
||||
case "boron":
|
||||
fileVersion = "6.17.1"
|
||||
case "carbon":
|
||||
fileVersion = "8.17.0"
|
||||
case "dubnium":
|
||||
fileVersion = "10.24.1"
|
||||
case "erbium":
|
||||
fileVersion = "12.22.12"
|
||||
case "fermium":
|
||||
fileVersion = "14.21.3"
|
||||
case "gallium":
|
||||
fileVersion = "16.20.1"
|
||||
case "hydrogen":
|
||||
fileVersion = "18.19.0"
|
||||
case "iron":
|
||||
fileVersion = "20.10.0"
|
||||
}
|
||||
}
|
||||
|
||||
re := fmt.Sprintf(
|
||||
`(?im)^v?%s(\.?%s)?(\.?%s)?$`,
|
||||
n.language.version.Major,
|
||||
|
|
|
@ -11,10 +11,10 @@ import (
|
|||
|
||||
func TestNodeMatchesVersionFile(t *testing.T) {
|
||||
nodeVersion := version{
|
||||
Full: "1.2.3",
|
||||
Major: "1",
|
||||
Minor: "2",
|
||||
Patch: "3",
|
||||
Full: "20.10.0",
|
||||
Major: "20",
|
||||
Minor: "10",
|
||||
Patch: "0",
|
||||
}
|
||||
cases := []struct {
|
||||
Case string
|
||||
|
@ -23,14 +23,17 @@ func TestNodeMatchesVersionFile(t *testing.T) {
|
|||
RCVersion string
|
||||
}{
|
||||
{Case: "no file context", Expected: true, RCVersion: ""},
|
||||
{Case: "version match", Expected: true, ExpectedVersion: "1.2.3", RCVersion: "1.2.3"},
|
||||
{Case: "version match with newline", Expected: true, ExpectedVersion: "1.2.3", RCVersion: "1.2.3\n"},
|
||||
{Case: "version match", Expected: true, ExpectedVersion: "20.10.0", RCVersion: "20.10.0"},
|
||||
{Case: "version match with newline", Expected: true, ExpectedVersion: "20.10.0", RCVersion: "20.10.0\n"},
|
||||
{Case: "version mismatch", Expected: false, ExpectedVersion: "3.2.1", RCVersion: "3.2.1"},
|
||||
{Case: "version match in other format", Expected: true, ExpectedVersion: "1.2.3", RCVersion: "v1.2.3"},
|
||||
{Case: "version match without patch", Expected: true, ExpectedVersion: "1.2", RCVersion: "1.2"},
|
||||
{Case: "version match without patch in other format", Expected: true, ExpectedVersion: "1.2", RCVersion: "v1.2"},
|
||||
{Case: "version match without minor", Expected: true, ExpectedVersion: "1", RCVersion: "1"},
|
||||
{Case: "version match without minor in other format", Expected: true, ExpectedVersion: "1", RCVersion: "v1"},
|
||||
{Case: "version match in other format", Expected: true, ExpectedVersion: "20.10.0", RCVersion: "v20.10.0"},
|
||||
{Case: "version match without patch", Expected: true, ExpectedVersion: "20.10", RCVersion: "20.10"},
|
||||
{Case: "version match without patch in other format", Expected: true, ExpectedVersion: "20.10", RCVersion: "v20.10"},
|
||||
{Case: "version match without minor", Expected: true, ExpectedVersion: "20", RCVersion: "20"},
|
||||
{Case: "version match without minor in other format", Expected: true, ExpectedVersion: "20", RCVersion: "v20"},
|
||||
{Case: "lts match", Expected: true, ExpectedVersion: "20.10.0", RCVersion: "lts/iron"},
|
||||
{Case: "lts match upper case", Expected: true, ExpectedVersion: "20.10.0", RCVersion: "lts/Iron"},
|
||||
{Case: "lts mismatch", Expected: false, ExpectedVersion: "8.17.0", RCVersion: "lts/carbon"},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
|
|
Loading…
Reference in a new issue