rlyx 0.3.1

rlyx is a fast release manager that automatically bumps versions, creates changelogs, tags commits, and publishes GitHub releases across JS, Rust, and Python projects with first class monorepos support.
Documentation
use std::path::PathBuf;

pub fn detect_shell() -> PathBuf {
    if let Ok(p) = std::env::var("RLYX_SHELL")
        .or_else(|_| std::env::var("rlyx_SHELL"))
    {
        let pb = PathBuf::from(p);
        if pb.exists() {
            return pb;
        }
    }
    if let Ok(p) = std::env::var("SHELL") {
        let pb = PathBuf::from(p);
        if pb.exists() {
            return pb;
        }
    }
    for c in [
        "/bin/sh",
        "/usr/bin/sh",
        "/bin/bash",
        "/usr/bin/bash",
        "/bin/zsh",
        "/usr/bin/zsh",
    ] {
        let pb = PathBuf::from(c);
        if pb.exists() {
            return pb;
        }
    }
    PathBuf::from("/bin/sh")
}