lla 0.1.2

A lightweight ls replacement
# `lla` - The Elegant `ls` Alternative

## Overview

`lla` (Lightweight ls Alternative) is an elegant and efficient command-line utility written in Rust, designed to be a fast and minimalistic replacement for the classic "ls" command. Say goodbye to cluttered outputs and embrace a refreshing listing experience with `lla`. Whether you're dealing with small directories or vast file landscapes, `lla` delivers lightning-fast performance with its minimalist design.

<img src="lla.png" alt="lla" width="100%">

## Features

- **Simplicity & Speed**: `lla` is crafted to be lightweight and lightning-fast, offering a sleek, no-nonsense listing experience.

- **Long Format**: Get detailed file information with the `-l` flag, displaying essential details for each file.

- **Sorting Options**: Sort files by name, size, or date with ease using the `-s` flag.

- **Filtering Flexibility**: Filter files by extension or pattern using the `-f` flag, with support for dot (.) prefix for extensions.

- **Recursive Exploration**: Effortlessly explore subdirectories with recursive listing, enabled by the `-r` flag.

- **Custom Depth**: Control recursion with precision by setting the maximum depth using the `-d` option.

## Installation

`lla` can be easily installed using Cargo, the package manager for Rust.

1. **Install Rust**: Make sure you have Rust installed on your system. If not, [install Rust]https://www.rust-lang.org/learn/get-started.

2. **Install `lla`**: Open your terminal and run the following command to install `lla` using Cargo:

```bash
cargo install lla
```

3. **Ready to Use**: Once the installation is complete, you can start using `lla` immediately. Simply type ``lla`` in your terminal, and let the magic begin!

## Usage

```
`lla` [FLAGS] [OPTIONS] [DIRECTORY]
```

### Flags

- `-l`, `--long`: Utilize the long listing format, providing detailed information for each file.

- `-r`, `--recursive`: Explore subdirectories recursively.

### Options

- `-s`, `--sort [SORT_BY]`: Sort files by name, size, or date. Values for SORT_BY: "name", "size", or "date".

- `-f`, `--filter [FILTER_BY]`: Filter files by extension or pattern. Dot (.) prefix for extension filtering.

- `-d`, `--depth [DEPTH]`: Set the maximum depth of recursion when using recursive mode.

### Arguments

- `DIRECTORY`: The directory to list. Default is the current directory.

## Examples

- List files and directories in the current directory:

```bash
lla
```

- List files and directories in a specific directory:

```bash
lla /path/to/directory
```

- Use the long listing format:

```bash
lla -l
```

- Sort files by size:

```bash
lla -s size
```

- Filter files by extension:

```bash
lla -f .txt
```

- Explore subdirectories recursively with a depth limit:

```bash
lla -r -d 3
```

## Contributing

`lla` is an open-source project that warmly welcomes contributions from the community. If you encounter any issues or have exciting ideas for improvements, don't hesitate to submit a pull request or open an issue.

## License

This project is licensed under the [MIT License](LICENSE), allowing you to use, modify, and distribute it freely. Embrace the elegance of `lla`, the perfect replacement for the traditional "ls" command.