https://github.com/araxeus/ls-interactive
Interactive ls command
https://github.com/araxeus/ls-interactive
cli command-line-tool directory explorer filesystem folder-viewer ls lsi
Last synced: 14 days ago
JSON representation
Interactive ls command
- Host: GitHub
- URL: https://github.com/araxeus/ls-interactive
- Owner: Araxeus
- License: mit
- Created: 2022-05-05T19:28:24.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-06-01T12:01:03.000Z (11 months ago)
- Last Synced: 2025-04-06T06:06:48.172Z (21 days ago)
- Topics: cli, command-line-tool, directory, explorer, filesystem, folder-viewer, ls, lsi
- Language: Rust
- Homepage:
- Size: 218 KB
- Stars: 26
- Watchers: 1
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ls-interactive π»
> Interactive ls command made in rust

## β‘ Features
π Navigate between folders/files using arrow keys
π Browse folders / Open files with native apps using using Enter
π Open folder in terminal (CD to folder) using Shift+Enter or Alt+Enter
π Open folder in file manager using Ctrl+Enter
π Type anything to filter current folder content using fuzzy search
π Top button (π ..) opens the parent directory (LeftArrow can also be used when fuzzy text field is empty)
π Press Esc to exit
> on Linux/Mac Shift+Enter or Ctrl+Enter *might* not work
>
> see https://github.com/crossterm-rs/crossterm/issues/669## π Installation
1. Download zip package from [releases page](https://github.com/Araxeus/ls-interactive/releases)
2. Extract its content into a folder in PATH ([guide](https://gist.github.com/nex3/c395b2f8fd4b02068be37c961301caa7))
3. Follow shell specific instructions:
Bash (Linux/Mac) or Zsh
* Copy the `lsi` function from [scripts/lsi.sh](https://github.com/Araxeus/ls-interactive/blob/master/scripts/sh) to your `~/.bashrc` or `~/.zshrc` file:
https://github.com/Araxeus/ls-interactive/blob/f1cd2db8a7bddb5aee5e0d3e2482d85b11d76f31/scripts/lsi.sh#L3-L8
Batch (Windows CMD)
* Copy [scripts/lsi.bat](https://github.com/Araxeus/ls-interactive/blob/master/scripts/lsi.sh) into a folder that is in your `%PATH%` environment variable
https://github.com/Araxeus/ls-interactive/blob/f1cd2db8a7bddb5aee5e0d3e2482d85b11d76f31/scripts/lsi.bat#L3-L5
you can open you environment variables settings using the command below: (or by searching for `env` in the start menu)
```batch
rundll32.exe sysdm.cpl,EditEnvironmentVariables
```Fish Shell
* Copy [scripts/lsi.fish](https://github.com/Araxeus/ls-interactive/blob/master/scripts/lsi.fish) into `~/.config/fish/functions/`
OR copy the function inside into your `~/.config/fish/config.fish` file
https://github.com/Araxeus/ls-interactive/blob/f1cd2db8a7bddb5aee5e0d3e2482d85b11d76f31/scripts/lsi.fish#L7-L13
Powershell
* Copy the `lsi` function from [scripts/lsi.ps1](https://github.com/Araxeus/ls-interactive/blob/master/scripts/lsi.ps1) to your `Microsoft.PowerShell_profile.ps1`
https://github.com/Araxeus/ls-interactive/blob/f1cd2db8a7bddb5aee5e0d3e2482d85b11d76f31/scripts/lsi.ps1#L7-L10
you can open your profile using one of the following commands:
```ps1
notepad $profile
```
```ps1
gedit $profile
```Nushell
* Copy the `lsi` function from [scripts/lsi.nu](https://github.com/Araxeus/ls-interactive/blob/master/scripts/lsi.nu) to your `env.nu`
https://github.com/Araxeus/ls-interactive/blob/f6d2fd227137dcf1136fb4136b86ae9896d0d21c/scripts/lsi.nu#L4-L10
you can open your environment file using the following command:
```bash
config env
```## π» How to run it
```bash
lsi
```or
```bash
lsi some_relative_path
```## βοΈ Build it yourself
(Releases are [automatically](https://github.com/Araxeus/ls-interactive/blob/master/.github/workflows/release.yml) built by github actions)
- install `rust`
- clone/download the repo- run in project directory:
- `cargo run`: to run in dev mode
- `cargo build --release`: to build locally,
- executable will be in `/target/release` and named `ls_interactive`
- launch script will be in the `/scripts` directory## π€Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/Araxeus/ls-interactive/issues).Before submitting a Pull Request, verify your changes with all following commands:
```mcfunction
cargo check
``````mcfunction
cargo fmt --all --check
``````mcfunction
cargo clippy --all-targets --all-features -- -W clippy::pedantic -W clippy::cargo -W clippy::nursery
```## β€οΈ Show your support
Give a β if this package helped you!
## π License
MIT. See [LICENSE file](./LICENSE) for details.