devicons

Crates.iodevicons
lib.rsdevicons
version
sourcesrc
created_at2024-09-09 12:33:12.857056
updated_at2024-10-15 21:41:59.102132
descriptionA Rust library that provides filetype glyphs (icons) for a wide range of common file formats.
homepagehttps://github.com/alexpasmantier/rust-devicons
repositoryhttps://github.com/alexpasmantier/rust-devicons
max_upload_size
id1369214
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Alexandre Pasmantier (alexpasmantier)

documentation

README

docs.rs Crates.io Total Downloads GitHub License Crates.io Version Crates.io Size

πŸ¦€ rust-devicons

A Rust library inspired by vim-devicons, that provides filetype glyphs (icons) for a wide range of common file formats.

rust-devicons

Features

  • 🦞 Icon Retrieval: Get file or directory icons based on file name/extension.
  • 🦞 Icon Color: Retrieve the color associated with the icon depending on the specified theme.
  • 🦞 Filetype Support: Supports a wide range of filetypes and filename conventions (dockerfile, makefile, etc.).
  • 🦞 Customizable Themes: Supports both light and dark themes.
Screenshot 2024-09-21 at 16 54 16

Installation

cargo add devicons

NOTE: you'll need to use a NerdFont to properly display the icons.

Usage

Here’s a simple example of how to use devicons to retrieve a file icon with the dark theme:

use std::path::Path;
use devicons::{File, Theme, icon_for_file, FileIcon};

fn main() {
    // getting the icon from a path with a specified theme
    let path = Path::new("Cargo.toml");
    let icon = icon_for_file(path, Some(Theme::Dark));

    // getting the icon from a string with a specified theme
    let icon = icon_for_file("Cargo.toml", Some(Theme::Dark));

    // getting the icon from a path with the default theme
    let icon = FileIcon::from(path);

    // directly getting an icon from a filename
    let icon = FileIcon::from("Cargo.toml");

    println!("File: {}", path.to_string_lossy());
    println!("Icon: {}", icon.icon);
    println!("Color: {}", icon.color);
}

Running the Examples

You can find more usage examples in the examples directory. To run them, use:

cargo run --example <example_name>

License

This project is licensed under the Apache 2.0 License.

Commit count: 37

cargo fmt