-
Notifications
You must be signed in to change notification settings - Fork 105
Design Philosophy
The design philosophy can be summed up as this (quoting @JorgeBucaran):
Small is beautiful, make each program do one thing well, and use composition.
Less functionality
- means less bugs
- correlates with simpler code
- will make this plugin faster to set up, understand, and master
- means less maintenance burden for me
- helps reduce feature cruft
What fzf.fish focuses on is helping users complete the most common patterns of commands more efficiently and accurately. It does not aim to help users execute their commands. It does not aim to cover 100% of fzf use cases, or even 70%. This is why all its features have to do with inserting the user's selection into the command line and has no functionality for instant cd or open with $EDITOR.
One advantage of focusing on helping users insert entities into their command line each feature can be easily composed into a command to do perform a wide swath of actions. For example, the find file feature can be combined with cd, vim, emacs, code, rmdir, ln--you name it. A command that only cds into a directory cannot have such flexibility.