github-languages

Crates.iogithub-languages
lib.rsgithub-languages
version0.3.1
sourcesrc
created_at2024-09-28 13:28:18.121245
updated_at2024-11-27 05:17:05.61228
descriptionAll GitHub's supported languages
homepagehttps://github.com/luxass/github-languages-rs
repositoryhttps://github.com/luxass/github-languages-rs
max_upload_size
id1390114
size683,236
Lucas (luxass)

documentation

README

GitHub Languages

All GitHub's supported languages.

actions status Crates.io version docs.rs docs Download

Install | Usage | Docs


Install

To use this library in your project, you can install by running the following command:

cargo add github-languages

Usage

Accessing Individual Language Information

You can access information about a specific language directly using its struct:

use github_languages::{Rust, Python};

fn main() {
    let rust_info = Rust::info();
    println!("Rust color: {}", rust_info.color);

    let python_info = Python::info();
    println!("Python ace_mode: {}", python_info.ace_mode);
}

Dynamic Language Lookups

For dynamic lookups, use the LANGUAGES static variable:

use github_languages::LANGUAGES;

fn main() {
    // Lookup by name
    if let Some(rust_lang) = LANGUAGES.get_by_name("Rust") {
        println!("Rust color: {}", rust_lang.color);
    }
    
    // Lookup by file extension
    if let Some(py_lang) = LANGUAGES.get_by_extension(".py") {
        println!("Python ace_mode: {}", py_lang.ace_mode);
    }
    
    // Iterate over all languages
    for lang in LANGUAGES.all_languages() {
        println!("Language: {}, ID: {}", lang.name, lang.language_id);
    }
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License

Commit count: 66

cargo fmt