nucleo-ui 0.1.6

A simple TUI wrapper around the nucleo fuzzy matching crate
Documentation

# nucleo-ui

nucleo-ui is a simple interactive command-line interface (CLI) tool that provides fast and efficient fuzzy matching capabilities. Leveraging the power of the `nucleo` fuzzy matching library, nucleo offers a simple and intuitive text interface for searching and comparing strings with a degree of imprecision.
> [!NOTE]
> This is an unoffical wrapper around nucleo.

![Crates.io Version](https://img.shields.io/crates/v/nucleo-ui)

## Features

- **Fast Fuzzy Matching**: Utilize the high-performance `nucleo` library for speedy searches.
- **Interactive CLI**: Straightforward commands and options for all your fuzzy matching needs.

## Installation

### From cargo

To install nucleo-ui from crates.io, ensure you have Rust and Cargo installed on your system. Follow these steps:

1. Install the tool:

  ```sh
  cargo install nucleo-ui
  ```

### From Source

To install nucleo-ui from source, ensure you have Rust and Cargo installed on your system. Follow these steps:

1. Clone the repository:

   ```sh
   git clone https://github.com/monishth/nucleo-ui.git
   ```

2. Navigate to the cloned directory:

   ```sh
   cd nucleo-ui
   ```

3. Build and install the tool:

   ```sh
   cargo install --path .
   ```

After installation, you can run `nucleo` from your command line.

## Usage

### Basic Command

With no arguments, nucleo-ui will list directories in the current path with min/max depth 1: 

```sh
nucleo 
```
[![asciicast](assets/noargs.gif)](https://asciinema.org/a/650969)

The output of nucleo-ui will be written to stdout.

### Options

- `-p, --path`: Specify path to search (default: '.')
- `-d, --directory`: Specify whether to only look for directories (default: false)
- `--min-depth <NUMBER>`: Specify the minimum depth to search (default: 1)
- `--max-depth <NUMBER>`: Specify the maximum depth to search (default: 1)
- `-h, --help`: Display help information.

### Using the finder

- `CTRL-C` / `ESC`: Quit
- `Enter`: Select the current item
- `Up` / `Down`: Move cursor up and down


## Examples

List paths in the home directory with min depth 2 and max depth 4:

```sh
nucleo -d ~/ --min-depth 2 --max-depth 4
```
### stdin

nucleo-ui will also read from STDIN
This will load the finder with the output of ls

```sh
ls | nucleo
```
[![asciicast]assets/stdin.gif]https://asciinema.org/a/650972

## Contributing

Contributions are welcome! If you're interested in improving nucleo-ui, see the steps below:

1. Fork the repository.
2. Create a new branch for your feature (`git checkout -b feature/AmazingFeature`).
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
4. Push to the branch (`git push origin feature/AmazingFeature`).
5. Open a pull request.