diff --git a/src/why_core.nim b/src/why_core.nim index 07cf213..b5c254e 100644 --- a/src/why_core.nim +++ b/src/why_core.nim @@ -57,6 +57,9 @@ proc defaultRules*(homeDir: string): seq[ProviderRule] = ProviderRule(name: "Mise", kind: mkContains, patterns: @[ "mise/shims", ".local/share/mise" ]), + ProviderRule(name: "asdf", kind: mkContains, patterns: @[ + ".asdf/shims", ".asdf/installs" + ]), ProviderRule(name: "Snap", kind: mkContains, patterns: @[ "/snap/", "snap/bin" ]), diff --git a/tests/test_why_core.nim b/tests/test_why_core.nim index 7386cc7..316fa68 100644 --- a/tests/test_why_core.nim +++ b/tests/test_why_core.nim @@ -84,3 +84,12 @@ suite "whyCore": rules ) check provider == "System" + + test "asdf shim takes precedence over system path": + let rules = defaultRules("/home/test") + let provider = detectProviderByPath( + "/home/test/.asdf/shims/node", + "/usr/bin/node", + rules + ) + check provider == "asdf"