ghfetch 0.1.0

GitHub stats in the terminal, neofetch-style
/// Returns (R, G, B) for a given programming language name.
/// Colors sourced from GitHub's linguist data.
pub fn get_color(language: &str) -> (u8, u8, u8) {
    match language {
        "Rust" => (222, 165, 132),
        "Python" => (53, 114, 165),
        "JavaScript" => (241, 224, 90),
        "TypeScript" => (49, 120, 198),
        "Go" => (0, 173, 216),
        "Java" => (176, 114, 25),
        "C" => (85, 85, 85),
        "C++" => (243, 75, 125),
        "C#" => (23, 134, 0),
        "Ruby" => (112, 21, 22),
        "PHP" => (79, 93, 149),
        "Swift" => (240, 81, 56),
        "Kotlin" => (169, 123, 255),
        "Scala" => (194, 45, 64),
        "Shell" => (137, 224, 81),
        "Bash" => (137, 224, 81),
        "PowerShell" => (1, 36, 86),
        "Lua" => (0, 0, 128),
        "Perl" => (2, 152, 195),
        "R" => (25, 140, 231),
        "Dart" => (0, 180, 171),
        "Elixir" => (110, 74, 126),
        "Erlang" => (184, 57, 152),
        "Haskell" => (94, 80, 134),
        "OCaml" => (59, 225, 51),
        "Clojure" => (219, 88, 85),
        "F#" => (184, 69, 252),
        "Zig" => (236, 145, 92),
        "Nim" => (255, 194, 0),
        "Julia" => (162, 112, 186),
        "Nix" => (126, 126, 255),
        "HTML" => (227, 76, 38),
        "CSS" => (86, 61, 124),
        "SCSS" => (198, 83, 140),
        "Sass" => (165, 59, 112),
        "Less" => (29, 54, 93),
        "Vue" => (65, 184, 131),
        "Svelte" => (255, 62, 0),
        "Astro" => (255, 90, 3),
        "Dockerfile" => (56, 77, 84),
        "Makefile" => (66, 120, 25),
        "CMake" => (218, 52, 52),
        "Nushell" => (59, 139, 77),
        "Fish" => (74, 174, 71),
        "Vim Script" | "Vim script" => (25, 159, 75),
        "Emacs Lisp" => (192, 101, 219),
        "TOML" => (155, 66, 15),
        "YAML" => (203, 23, 30),
        "JSON" => (41, 41, 41),
        "XML" => (0, 96, 172),
        "Markdown" => (8, 63, 161),
        "TeX" | "LaTeX" => (61, 97, 23),
        "Jupyter Notebook" => (218, 91, 11),
        "Objective-C" => (67, 142, 255),
        "Objective-C++" => (105, 99, 160),
        "Assembly" => (110, 76, 19),
        "GLSL" | "HLSL" => (171, 194, 81),
        "Verilog" | "SystemVerilog" => (180, 52, 115),
        "VHDL" => (173, 178, 203),
        "Fortran" => (77, 83, 115),
        "COBOL" => (85, 85, 85),
        "Pascal" => (227, 241, 113),
        "D" => (186, 89, 94),
        "Crystal" => (0, 1, 0),
        "Groovy" => (226, 152, 82),
        "Tcl" => (228, 204, 152),
        "Scheme" => (30, 74, 236),
        "Common Lisp" => (63, 182, 139),
        "Racket" => (60, 82, 144),
        "Prolog" => (116, 40, 60),
        "Lean" => (0, 0, 0),
        "Coq" => (208, 183, 14),
        "Agda" => (49, 86, 101),
        "Idris" => (179, 0, 18),
        "Purescript" | "PureScript" => (29, 34, 45),
        "Elm" => (96, 181, 204),
        "CoffeeScript" => (36, 71, 118),
        "ReasonML" => (255, 90, 56),
        "Terraform" | "HCL" => (84, 69, 255),
        "Solidity" => (170, 106, 74),
        "Move" => (75, 51, 141),
        "Cairo" => (255, 75, 75),
        "Wasm" | "WebAssembly" => (4, 19, 60),
        "CUDA" => (58, 78, 57),
        "OpenCL" => (237, 42, 44),
        "Pkl" => (63, 104, 71),
        "Gleam" => (255, 175, 243),
        "Mojo" => (255, 79, 0),
        "Roc" => (124, 52, 189),
        "V" => (79, 135, 198),
        "Odin" => (96, 175, 226),
        "KDL" => (130, 130, 180),
        _ => (150, 150, 150), // default gray
    }
}