| File: ShellShim\ZshDetector.cs | Web Access |
| Project: src\sdk\src\Cli\dotnet\dotnet.csproj (dotnet) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable using Microsoft.DotNet.Cli.Utils; namespace Microsoft.DotNet.Cli.ShellShim; internal static class ZshDetector { private const string ZshFileName = "zsh"; /// <summary> /// Returns true if the `SHELL` environment variable ends with `zsh` for the filename. /// </summary> public static bool IsZshTheUsersShell(IEnvironmentProvider environmentProvider) { string environmentVariable = environmentProvider.GetEnvironmentVariable("SHELL"); if (string.IsNullOrWhiteSpace(environmentVariable)) { return false; } if (Path.GetFileName(environmentVariable).Equals(ZshFileName, StringComparison.OrdinalIgnoreCase)) { return true; } return false; } }