FZS is designed to simplify the process of launching applications, managing tasks, and executing commands from the terminal. With rapid access to binaries, scripts, and shell functions using just a few keystrokes, it streamlines workflows without modifying existing setups. Customize and enhance functionality while enjoying a fast and portable solution.
FZS is an intuitive command-line fuzzy finder designed to streamline the way binaries, scripts, and shell functions are accessed. By simplifying the selection process to typically just 2-3 keystrokes, FZS enhances productivity in a way that generalizes popular launchers like Rofi and Alfred/Raycast.
Key Features
-
Fuzzy Selection: Automatically accepts commands based on the starting substring and falls back to a fuzzy selection mechanism when necessary. Users can manually accept selections using the Enter or Space key.
-
Plugin Architecture: Organize related actions into Plugins, making it easy to extend functionality and manage scripts. This modularity allows users to define how commands are grouped and accessed, improving command line efficiency.
- Plugins are stored as folders in a default
FZS_ROOT_DIR(typically~/.fzs), allowing for easy integration of custom scripts and binaries.
- Plugins are stored as folders in a default
-
Background Processing: Commands can be set to run in the background, allowing simultaneous operations and improved terminal responsiveness.
-
Customized Selectors: Each plugin can have its own customizable selector, enabling a tailored experience suited to individual workflows. Users can choose how actions are represented and interacted with.
Organizational Framework
The structure of FZS allows for seamless integration with existing command-line operations:
- Binaries and functions are symlinked to a directory added to the PATH.
- Users can benefit from command autocompletion of namespaced actions through simple templates.
Examples of Usage
Here’s how to create a simple plugin structure that includes custom functions and key bindings:
[[plugins]]
name = "git"
alias = "g"
fns = [
{ name="status", cmd="git status" },
{ name="add", cmd="git add ." },
{ name="commit", cmd="git commit" }
]
FZS will interpret this configuration and allow users to execute g.status, g.add, or g.commit as needed.
Performance Enhancement
FZS is minimally invasive, ensuring that existing setups remain unobstructed. It operates at high speeds, with initialization scripts executing in less than 1ms on an M1 chip, demonstrating its efficiency and effectiveness in enhancing terminal workflows.
Error Checking and Navigation
Including robust error checking mechanisms, FZS enhances user experience by providing clear feedback and guidance while navigating through plugins and actions.
Future Directions
FZS aims to continue development with plans for additional features such as auto-compilation of source code, and improved plugin management systems.
In summary, FZS is an invaluable tool for anyone looking to enhance their command line efficiency by organizing and quickly accessing scripts and binaries. With its clean architecture and focus on user experience, it stands out as a powerful command-line fuzzy finder.
No comments yet.
Sign in to be the first to comment.