Lightweight command line tool to quickly navigate across folders.

Overview

slingshot 0.3.0

Tests

Slingshot is a lightweight tool to browse files in the terminal. It allows the user to quickly filter through files in any directory, open them with a text editor (nvim by default), create/edit/delete files , and run commands in a simple interface.

Design Goals

  • A quick way to navigate, create and edit files in the terminal.
  • Easily maintanable.
  • Minimal use of third party crates.

Dependencies

How to install

  • Build from source:
    • Clone the repository & navigate to cloned directory.
    • Run make build
    • Run make install

How to use

Slingshot aims to closely resemble vim motions to ensure a coherent workflow. Once started, Slingshot defaults to normal mode.

Normal mode:

  • Used for navigation.
  • [J, K] can be used to navigate up and down the file list.
  • [H, L] can be used to navigate back one directory, or to enter the selected directory.
  • [I, A] can be used to switch to insert mode

Insert mode:

  • Used for typing the search term.
  • [Enter] can be used to enter the selected file.

Global commands:

  • [Ctrl+C] to quit application,
  • [Ctrl+N] to run commands.

Fish Shell Integration

The only requirement is to have slingshot installed.

  1. Run fisher install caio-ishikawa/slingshot-fish.

The default keybind to open slingshot in the fish shell is Ctrl+S.

Known issues

  • Scrolling/overflows do not work. (filtering is not affected.)
  • Crashes if user tries to move back from home directory.
You might also like...
FileSorterX is an automatic file sorting application that sorts your files into folders based on their file extension
FileSorterX is an automatic file sorting application that sorts your files into folders based on their file extension

FileSorterX is an automatic file sorting application that sorts your files into folders based on their file extension. With FileSorterX, you can easily keep your files organized and find what you need quickly.

🪂 SkyFolder shares your folders on the network!
🪂 SkyFolder shares your folders on the network!

Skyfolder Easily share your files & folders on the network. Security, Simplicity, Style all built in. It's like your own personal Google Drive! Skyfol

A filesystem driver that allows you to view your Blackboard course contents as if they were normal files and folders on your system!
A filesystem driver that allows you to view your Blackboard course contents as if they were normal files and folders on your system!

BlackboardFS Blackboard: noun A website so bad that it might as well be a network drive. BlackboardFS is a filesystem driver that allows you to view y

Pink is a command-line tool inspired by the Unix man command.

Pink is a command-line tool inspired by the Unix man command. It displays custom-formatted text pages in the terminal using a subset of HTML-like tags.

A simple, lightweight and extensible command line argument parser for rust codebases

A simple, lightweight and extensible command line argument parser for rust codebases. This crate aims to provide you with an easy-to-use and extensibl

A lightweight command line utility with some small functions for CTFs.

Ice Ice is a lightweight command line utility to help with simple problems encountered while playing CTFs. Extracted from graveyard NOTE: Most of the

A slightly smart clipboard tool - leverage the filesystem to persist across machines after shutdown.

clipd A slightly smart clipboard using the filesystem under ~/.clipd to persist after shutdown. cowsay "clipd is great" | clipd copy clipd paste ____

Sleek is a CLI tool for formatting SQL. It helps you maintain a consistent style across your SQL code, enhancing readability and productivity.

Sleek: SQL Formatter ✨ Sleek is a CLI tool for formatting SQL. It helps you maintain a consistent style across your SQL code, enhancing readability an

Web-based tool that allows browsing and comparing symbol and type information of Microsoft Windows binaries across different versions of the OS.
Web-based tool that allows browsing and comparing symbol and type information of Microsoft Windows binaries across different versions of the OS.

WinDiff About WinDiff is an open-source web-based tool that allows browsing and comparing symbol and type information of Microsoft Windows binaries ac

Comments
  • Ctrl+C causes panic

    Ctrl+C causes panic

    Panic occurred: PanicInfo { payload: Any { .. }, message: Some(not implemented), location: Location { file: "src/event_handler.rs", line: 66, col: 18 }, can_unwind: true }

    opened by yonas 3
  • Shell integration?

    Shell integration?

    Have you thought about shell integration? For example with fish + fzf: https://github.com/PatrickF1/fzf.fish

    I can type Ctrl+R and can start searching my shell history.

    opened by dsully 2
  • [BUG] Fix text alignment in command mode output

    [BUG] Fix text alignment in command mode output

    This is the output of ls in command mode:

    /git/slingshot
    > 
    Cargo.lock
              Cargo.toml
                        LICENSE
                               Makefile
                                       README.md
                                                src
                                                   target
                                                         tests
    
    opened by yonas 1
  • updates controls to more closely resemble vim.

    updates controls to more closely resemble vim.

    With this change, Slingshot will start in "normal mode", which allows the user to move up, down, back, and forward in the file list using H,J,K & L. To start insert mode, which allows the user to edit the search term, either the "a" key or the "i" key will trigger it to start.

    Ctrl+N continues to be the key used for starting command mode.

    I chose to create a new field in the AppState to represent the different vim-like modes because I eventually want to be able to use both visual and insert mode in the command screen. It would be useful to be able to copy the output of commands to the clipboard.

    opened by caio-ishikawa 0
Releases(v0.3.0)
Owner
Caio Ishikawa
tinkerer
Caio Ishikawa
A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

Daniel Kogan 2 Sep 8, 2022
A fully extensible command interface to navigate around your leptos application.

leptos-kbar A fully extensible command interface to navigate around your leptos application. See demo: https://leptos-kbar.vercel.app/ Roadmap leptos-

null 7 Mar 10, 2024
Navigate in the world of ESP32 with easy. Tool for maintaining development environment.

ESP Helm Get all important information for Embedded Development with ESP32 and mainitain the development environment. Check out releases for binary ve

Juraj Michálek 4 Aug 7, 2023
A tool crate to quickly build rust command line application.

Falsework A tool crate to quickly build rust command line application.

Leon Ding 103 Dec 12, 2022
rpsc is a *nix command line tool to quickly search for file systems items matching varied criterions like permissions, extended attributes and much more.

rpsc rpsc is a *nix command line tool to quickly search for file systems items matching varied criterions like permissions, extended attributes and mu

null 3 Dec 15, 2022
tmplt is a command-line interface tool that allows you to quickly and easily set up project templates for various programming languages and frameworks

tmplt A User Friendly CLI Tool For Creating New Projects With Templates About tmplt is a command-line tool that lets users quickly create new projects

Humble Penguin 35 Apr 8, 2023
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

William D. Jones 5 Aug 20, 2022
Rust command line utility to quickly display useful secrets in a Kubernetes namespace

kube-secrets This is a command line utility for quickly looking at secrets in a Kubernetes namespace that are typically looked at by humans. It specif

Frank Wiles 8 Feb 10, 2022
An ultra-fast CLI app that fixes JSON files in large codebase or folders

minosse An ultra fast CLI app that fixes json files in large codebase or folders USAGE: minosse [OPTIONS] <input-dir> FLAGS: -h, --help Prints

Antonino Bertulla 5 Oct 17, 2022
A small unix and windows lib to search for executables in PATH folders.

A small unix and windows lib to search for executables in path folders.

Robiot 2 Dec 25, 2021