Repository navigation
·
5 commits
to main
since this release
fSearch: Improvements Summary
We have significantly enhanced the fSearch CLI tool, moving it from a basic prototype to a more robust, user-friendly, and professional application.
1. Robust Command Line Parsing
We replaced the manual, order-dependent parsing with the industry-standard clap crate.
- Flexible Flags: Commands like
find -f main.rsandfind main.rs -fnow both work correctly. - Automatic Help: Built-in help menus are automatically generated for all commands (
help,-h, or--help). - Structured Code: All command definitions are now organized in a dedicated cli.rs module.
2. Dynamic ASCII Art Banner
The startup experience is now more premium thanks to dynamic ASCII art.
figlet-rsIntegration: The "fSearch" logo is generated dynamically at runtime.- Professional Layout: Added a stylized header with versioning and author information, all themed with vibrant terminal colors.
3. Smarter Shell Prompt
The interactive prompt now feels like a real shell.
- System Hostname: Automatically detects and displays your actual machine name using the
gethostnamecrate. - Concise Pathing: Only shows the name of the current directory (the last path segment), preventing the prompt from becoming too long.
- Better Visibility: Styled in bold bright blue for clear distinction from command output.
4. Bug Fixes & Integrity
- Export System: Fixed several bugs where search results (files, regex matches, and extensions) were not being saved. You can now reliably use
export -o <file>to save any search results. - Code Cleanup: Removed dead code, fixed unused imports, and streamlined the main event loop in main.rs.
- Graceful Errors: Integrated proper error handling for invalid commands, ensuring the app doesn't crash on typos.
Current Project State (v0.5.0)
The tool is now significantly more "release-ready" with a solid foundation for future features like persistent configuration or a GUI.
wget https://github.com/MensahPrince/FileSearch/releases/download/v0.5.0-stable/fSearchYou may need to run this command if dependencies are missing.
sudo apt install -f Usage
fsearchNotes
- Ensure Rust and Cargo are installed if building from source.
- Built using
walkdir,std::env,colored, and basic Rust CLI principles.
Feedback
Issues, suggestions, and contributions are welcome!
Please open an Issue or Pull Request.