A Zsh plugin that automatically quotes arguments for commands like git commit -m, letting you write natural text without manual quoting.
zsh-autoquoter is a Zsh plugin that automatically adds quotes around arguments for specific commands like git commit -m or ssh. It solves the problem of manually escaping quotes in command-line arguments by detecting when to apply quotes based on user-configured patterns, allowing users to write natural text without worrying about shell syntax.
Zsh users who frequently type commands with complex arguments, such as developers using git commit -m with descriptive messages or system administrators running ssh commands with multi-word arguments.
Developers choose zsh-autoquoter because it eliminates the tedious manual quoting process, integrates seamlessly with existing Zsh ecosystems like zsh-syntax-highlighting, and offers flexible pattern-based configuration without altering core shell behavior.
automatically quote arguments to commands like git commit -m
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects when to add quotes based on user-configured shell patterns, handling complex syntax like pipes, redirects, and globs without manual escapes, as demonstrated with git commit and ssh examples.
Avoids adding quotes if arguments are already fully quoted, preventing escape sequence problems, which the README confirms in the 'Double escaping' section.
Integrates with zsh-syntax-highlighting to visually indicate autoquoted strings, providing clear feedback before execution, as noted in the installation instructions.
Rewrites commands before they're added to shell history, preserving the actual executed command rather than raw input, ensuring ~/.zsh_history reflects accurate runs.
Configuring ZAQ_PREFIXES requires learning Zsh glob operators, which the README admits are 'complicated' and 'not even very complete,' leading to a steep learning curve.
Exclusively designed for Zsh, making it useless for users on other shells like Bash or Fish, severely restricting its ecosystem and portability.
Users must manually define and debug patterns for each command prefix, which can be error-prone and time-consuming, as highlighted in the 'Writing patterns' section with examples like ssh patterns.