#filenames #cli #cli-tool #correct #beginning #devicons #devicon

app devicon-lookup

Prepend the correct devicon to the beginning of each filename

14 releases (7 breaking)

0.10.2 Feb 3, 2024
0.9.1 Jul 23, 2023
0.8.1 Feb 2, 2023
0.8.0 Apr 1, 2020
0.1.0 Nov 18, 2018

#792 in Command-line interface

Download history 6/week @ 2024-01-19 5/week @ 2024-01-26 8/week @ 2024-02-02 26/week @ 2024-02-16 45/week @ 2024-02-23 6/week @ 2024-03-01 1/week @ 2024-03-08 2/week @ 2024-03-15 91/week @ 2024-03-29 20/week @ 2024-04-05

133 downloads per month

MIT license




devicon-lookup is a simple standalone CLI tool. It accepts text over stdin, and returns it stdout with a devicon prepended.

Use Cases

Uses cases include:

Prepending devicons to the files in your directory

ls | devicon-lookup --color

ls | devicon-lookup --color

Adding icons to grep results

rg test | devicon-lookup --prefix :

rg test | devicon-lookup --prefix :

Streaming results for large result sets

rg str --color always | devicon-lookup -c -p : | fzf --ansi

rg str -uuu --color always | devicon-lookup -c -p : | fzf --ansi


The recommended way to install is via cargo the Rust package manager

cargo install devicon-lookup


Upgrading can also be done via cargo. The following command will install the latest available version on devicon-lookup

cargo install devicon-lookup --force

VIM Usage

The primary real world usage of this tool is within VIM and specifically with fzf. For more information about one possible solution to integrating these see the fzf.devicon.vim repo. This repo is a fork of fzf.vim that uses this tool to add devicons to the fuzzy search results

fzf 💜 devicon ❤️ vim

CLI Usage

 Dev Icon Lookup

   devicon-lookup [options]
   devicon-lookup (-h | --help)
   devicon-lookup --version

   -h --help                      Show this screen.

   --version                      Show version.

   -c --color
   Strip ANSI color codes from each line before processing them
   The original string with ANSI codes preserved is output

   -p --prefix=<delimiter>
   The filename is considered to be everything up to the given
   delimineter. The entire line is still output

   -r --regex=<regex>
   Regex used on each line to find the filename.
   Regex's must be valid based on the Rust `regex` crate
   The regex is expected to have a single capture group,
   which contains the filename. Extra capture groups are ignored

Further Reading

Blog post about the initial build and inspiration: https://coreyja.com/vim-fzf-with-devicons/


~186K SLoC