| Crates.io | fuzzy-ls |
| lib.rs | fuzzy-ls |
| version | 1.2.0 |
| created_at | 2025-02-14 21:10:47.337944+00 |
| updated_at | 2025-08-02 06:10:02.50855+00 |
| description | Fuzzy file search command line utility. |
| homepage | https://github.com/Ashwin-1709/fuzzy-ls |
| repository | https://github.com/Ashwin-1709/fuzzy-ls |
| max_upload_size | |
| id | 1556025 |
| size | 891,670 |
fuzzy-ls is a cross-platform command line utility that extends the functionality of the popular ls command along with a GUI by enabling fuzzy searching, regex pattern matching, exact matches, and more. It allows you to focus your search on specific file extensions or exclude certain extensions from the search space.
Here is an example of a search. Exact matches are highlighted by green on terminal and fuzzy matches with blue like this:

Currently, the tool uses the Damerau-Levenshtein algorithm for fuzzy searching. The Damerau-Levenshtein algorithm calculates the minimum number of operations (insertions, deletions, substitutions, and transpositions) required to transform one string into another.
The help menu contains the necessary documentation on different options supported.
Fuzzy file search command line tool.
Usage: fuzzy-ls.exe [OPTIONS] <QUERY>
Options:
-r, --regex Query is a regex pattern and the search is performed using the regex.
-p, --exact Exact pattern matching is done for the query.
-e, --exclude [<.ext>...] Exclude files of specific extensions.
-f, --focus [<.ext>...] Focus search on specific set of extensions. In case both exclude and focus are provided, focus takes precedence.
-h, --help Print help
-V, --version Print versionfuzzy-ls.exe [OPTIONS] <QUERY>
fuzzy-ls search

fuzzy-ls fuzzy.* -r

You can mix and match focused flags with any of the search type
fuzzy-ls fuzzy.* -r -f exe

fuzzy-ls fuzzy.* -r -e exe
Note: In case both focused and exclude extensions are provided: focus extensions take a precedence.
fuzzy-ls utils -p

Once you've found the files you're looking for, you can seamlessly navigate to them using your favorite code editors. The default editor is Neovim (nvim), but you can easily configure it to use any editor of your choice.
When you select a file in the fuzzy-ls interface, it will automatically open in Neovim by default:

You can override the default editor used to open the file in fuzzy-ls using the -d flag.
fuzzy-ls search -d code

Feel free to contribute to the project whether its reporting issues/suggestions or feature requests or new feature PRs!
This project is licensed under the MIT License.