Awesome
<h1 align="center">ls-interactive π»</h1> <p> <a href="https://github.com/Araxeus/ls-interactive/releases" target="_blank"> <img alt="Version" src="https://img.shields.io/github/release/Araxeus/ls-interactive.svg" onerror='this.onerror=undefined; this.src="https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000"'/> </a> <a href="https://github.com/Araxeus/ls-interactive/blob/main/LICENSE" target="_blank"> <img alt="License: MIT" src="https://img.shields.io/github/license/Araxeus/ls-interactive?color=yellow" /> </a> <a href="https://github.com/Araxeus/ls-interactive" target="_blank"> <img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" /> </a> </p>Interactive ls command made in rust
β‘ Features
π Navigate between folders/files using arrow keys
π Browse folders / Open files with native apps using using <kbd>Enter</kbd>
π Open folder in terminal (CD to folder) using <kbd>Shift</kbd>+<kbd>Enter</kbd> or <kbd>Alt</kbd>+<kbd>Enter</kbd>
π Open folder in file manager using <kbd>Ctrl</kbd>+<kbd>Enter</kbd>
π Type anything to filter current folder content using fuzzy search
π Top button (π ..) opens the parent directory (<kbd>LeftArrow</kbd> can also be used when fuzzy text field is empty)
π Press <kbd>Esc</kbd> to exit
on Linux/Mac <kbd>Shift</kbd>+<kbd>Enter</kbd> or <kbd>Ctrl</kbd>+<kbd>Enter</kbd> might not work
π Installation
-
Download zip package from releases page
-
Extract its content into a folder in PATH (guide)
-
Follow shell specific instructions:
-
Copy the
lsi
function from scripts/lsi.sh to your~/.bashrc
or~/.zshrc
file:
-
Copy scripts/lsi.bat into a folder that is in your
%PATH%
environment variableyou can open you environment variables settings using the command below: (or by searching for
env
in the start menu)rundll32.exe sysdm.cpl,EditEnvironmentVariables
-
Copy scripts/lsi.fish into
~/.config/fish/functions/
OR copy the function inside into your
~/.config/fish/config.fish
file
-
Copy the
lsi
function from scripts/lsi.ps1 to yourMicrosoft.PowerShell_profile.ps1
you can open your profile using one of the following commands:
<br>notepad $profile
gedit $profile
-
Copy the
lsi
function from scripts/lsi.nu to yourenv.nu
you can open your environment file using the following command:
config env
π» How to run it
lsi
or
lsi some_relative_path
βοΈ Build it yourself
(Releases are automatically built by github actions)
-
install
rust
-
clone/download the repo
-
run in project directory:
cargo run
: to run in dev modecargo build --release
: to build locally,- executable will be in
/target/release
and namedls_interactive
- launch script will be in the
/scripts
directory
- executable will be in
π€Contributing
Contributions, issues and feature requests are welcome!<br />Feel free to check issues page.
Before submitting a Pull Request, verify your changes with all following commands:
cargo check
cargo fmt --all --check
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 for details.