- Be kind to others ;
- Critic code not people.
Note, we follow semver.
Todo upon release:
- updated
pure_version
(in conf.d/pure.fish) ; - create a commit only containing above edit ;
- create a git tag for said commit.
- Use the idiomatic
test
instead of[
brackets (as recommended by the documentation). - Use long form options, e.g.
set --local
, as they are more explicit over cryptic 1-letter form.
Namespace your item with the prefix
pure_
.
- variable:
pure_my_variable
- function:
pure_my_public_function
- filename:
pure_my_public_file.fish
- test file:
pure_my_public_file.test.fish
Namespace your item with the prefix
_pure_
(begin with a single underscore).
- variable:
_pure_my_variable
- function:
_pure_my_private_function
- filename:
_pure_my_private_file.fish
- test file:
_pure_my_private_file.test.fish
No need to use namespace when your variable variable is declare locally (
set --local
) or your file/test file is related to tooling (installer.fish, testing package managers install).
- filename:
my_tool.fish
- test file:
my_tool.test.fish
- Public settings' default values are placed in conf.d/pure.fish
- Private settings and anything else
pure
needs to do on init are placed in _conf.d/_pure_init.fish.
Base colors should follow
$pure_color_<meaning>
pattern (cf. bootstrap naming).
$pure_color_info # cyan
$pure_color_success # green
$pure_color_warning # yellow
$pure_color_danger # red
$pure_color_light
$pure_color_dark
$pure_color_muted # gray
Each feature should have a dedicated variables to allow customization.
Feature's variables (flag, symbol, color) should use
$pure_<type>_<feature>
naming pattern:
Role Name pattern flag $pure_<verb>_<feature>
color $pure_color_<feature>
symbol $pure_symbol_<feature>
$pure_enable_git_status
$pure_symbol_git_unpushed_commits
$pure_color_git_unpulled_commits
Name should follow
$pure_<verb>_<feature>
pattern, where:
verb
describe the action triggered by the feature (i.e.separate
,begin
,show
, etc.) ;feature
descibre the what of the feature (i.e.prompt_on_error
,with_current_directory
,git_status
, etc.).
Value should be a boolean.
$pure_begin_prompt_with_current_directory = true
$pure_enable_git_async = false
Use complete word over abbreviation.
$pure_threshold_command_duration