Skip to content

Commit

Permalink
chore: update readme
Browse files Browse the repository at this point in the history
chaqchase authored Jul 25, 2024

Verified

This commit was signed with the committer’s verified signature.
igorkulman Igor Kulman
1 parent 0afc368 commit 76ab24a
Showing 1 changed file with 80 additions and 119 deletions.
199 changes: 80 additions & 119 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,127 +1,88 @@
# `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!

### NetBSD

On NetBSD, a pre-compiled binary is available from the official repositories. To install it, simply run:
# `lla` - ls, but make it fashion

## what's the deal?
`lla` is like `ls` went to design school. it's fast, it's pretty, it's rust-powered.
say bye to boring directories. say hi to file listing with style.

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

## cool tricks
- **speed demon**: blink and you'll miss it
- **long and detailed**: `-l` for when you're feeling nosy
- **sort it out**: `-s` to play favorites (name, size, or date)
- **picky picky**: `-f` to filter files like a bouncer at a club
- **go deeper**: `-r` to dive into subdirectories (how deep? you decide with `-d`)

## get it now
1. **get rust**: no rust? [get rusty](https://www.rust-lang.org/learn/get-started)
2. **magic words**:
```bash
cargo install lla
```
3. **showtime**: type `lla` and watch the magic happen

### fancy netbsd user?
```bash
pkgin install lla
```
(we see you, netbsd. we appreciate you.)

## Usage
## how to play

```
lla [FLAGS] [OPTIONS] [DIRECTORY]
lla [COOL_FLAGS] [EXTRA_BITS] [WHERE_TO_LOOK]
```

### Flags

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

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

- `-g`, `--git` : Show git status of files.


### 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.

- `-h`, `--help`: Prints help information.

- `-V`, `--version`: Prints version information.

### 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
```

- Combine flags and options:

```bash
lla -l -r -s size -f .txt -d 3
# or
lla -lrs size -f .txt -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.
### fun buttons
- `-l`: long list (for the detail-oriented)
- `-r`: recursion (for the adventurous)
- `-g`: git status (for the code-curious)

### extra toppings
- `-s [FLAVOR]`: sort by name, size, or date
- `-f [VIP_LIST]`: filter files (use . for extensions, like a cool kid)
- `-d [HOW_DEEP]`: set max depth (for those afraid of recursion)
- `-h`: help (no shame in asking)
- `-V`: version (for the collectors)

### where to point
- `DIRECTORY`: where to look (or don't, we'll just look here)

## show me the goods

- just the basics:
```bash
lla
```
- be specific:
```bash
lla /path/to/your/hopes/and/dreams
```
- get all the deets:
```bash
lla -l
```
- size matters:
```bash
lla -s size
```
- txt files only party:
```bash
lla -f .txt
```
- go deep, but not too deep:
```bash
lla -r -d 3
```
- kitchen sink special:
```bash
lla -lrs size -f .txt -d 3
```

## wanna help?
got ideas? found a bug? think you can make `lla` even cooler?
we're all ears! pull requests and issues are like fan mail to us.

## boring (but important) stuff
MIT License - do what you want, just don't blame us.
go forth and `lla` your heart out!

0 comments on commit 76ab24a

Please sign in to comment.