DEV Community

tamia
tamia

Posted on

rfig: IDE-style terminal autocomplete for zsh, Bash, and Fish

rfig: IDE-style terminal autocomplete for zsh, Bash, and Fish\n\nI built rfig, an open-source terminal autocomplete tool written in Rust. It brings an IDE-style completion menu directly into the shell while keeping the current shell responsible for executing commands.\n\nrfig terminal autocomplete showcase\n\n## What it does\n\n- Shows completion candidates while typing, without requiring Tab.\n- Continues through nested subcommands, options, arguments, paths, and dynamic values.\n- Reads the shell completion definitions already available on the machine.\n- Uses command help output as a fallback when a registered definition is unavailable.\n- Reads dynamic context such as Git branches, Brew services, and npm scripts.\n- Provides local history-based suggestions as inline gray text.\n- Learns from selections and executions to rank commonly used candidates higher.\n\nFor example, inside a Git repository the completion flow can progress from g to gi, git, checkout, and then a branch that actually exists in the current repository. The same interaction works for brew services and npm run.\n\n## Installation\n\nOn macOS or Linux:\n\n~sh\nbrew tap tamia6/tap\nbrew install rfig\nrfig setup\n~\n\nThe current release supports zsh, Bash 4.4+, and Fish 3.6+. Completion data, history suggestions, and usage records remain local to the machine.\n\n- Repository: https://github.com/tamia6/rfig\n- Website: https://tamia6.github.io/rfig/\n\nI’m interested in feedback on shell integration, completion-source behavior, Rust architecture, and terminal rendering.

Top comments (0)