-
Notifications
You must be signed in to change notification settings - Fork 98
Contributing
The CI does a lint check on Markdown and YAML using Prettier with out-of-the-box settings and fish_indent on fish code. Therefore,
- if you are modifying any Markdown or Yaml files, run Prettier on the modified files
- if you are modifying fish code, run fish_indent on the modified .fish files
- you may want to just install a Prettier and Fish extension in your editor of choice to handle these tasks for you
...or your commits may not pass CI.
-
if>andoror -
test>[...] - Long forms of flags > short forms
- Use short form for frequently used commands such as
set - Note that MacOS utils often do not support long flags, in which case one should use the short option for cross-platform compatibility
- Use short form for frequently used commands such as
- Piping > command substitution
- variable names should be snake cased
- global variables that the user should not interact with should be prepended with
_ - keep variables functionally scoped
Fish code formatting is done via fish_indent, which is available as a VSCode plugin.
Markdown and YAML formatting is done via Prettier, run with just the defaults.
All variables and functions should be named in snake_case.
For variables and functions exposed to the user but not meant for the user to interact with, prepend an underscore in front of the name.
- jorgebucaran/fishtape - Runs Fish tests
- IlanCosman/clownfish - Mocks the behavior of commands
Run tests like so from the repository root
CI=true fishtape tests/**.fishCI=true prevents config/fzf.fish and fzf_configure_bindings from being skipped.
Before opening up a PR to add a new feature, first decide if it'll be a good fit. The best way is to read the Design Philosophy page, which includes the criteria for new features. If you did and you still think it's a good fit, then go for it. Just be sure to update the readme and add tests.