prezto/CONTRIBUTING.md

2.5 KiB

Contributing

This project would not exist without all of its users and contributors.

If you have ideas on how to make the configuration easier to maintain or improve its performance, do not hesitate to fork and send pull requests.

Issue Reporting

  • Check that the issue has not already been reported.
  • Check that the issue has not already been fixed in the latest code.
  • Open an issue with a clear title and description in grammatically correct, complete sentences.

Pull Request

Code Style

This project follows the Google Shell Style Guide when possible. However, there are a number of additional things to keep in mind.

  • Local variables should be used whenever possible.
  • Prefer zstyle over environment variables for configuration.
  • Prefer (( ... )) over ... for arithmetic expression.
  • Use the function keyword to define functions.
  • The 80 character hard limit can be waived for readability.

Using an Alternative zprezto Directory

To work on Prezto without affecting your current configuration:

mkdir devel-zprezto
cd devel-zprezto
git clone --recursive https://github.com/sorin-ionescu/prezto.git .zprezto
ZDOTDIR=$(pwd)
echo "Your development ZDOTDIR is $ZDOTDIR"
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
    ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

Then to start zsh in this development environment you will run:

ZDOTDIR=/path/to/devel-zprezto zsh

Modules

  • A README.md must be present.
  • Large functions must be placed in a functions directory.
  • Functions that take arguments must have completion.

Themes

  • A screenshots section must be present in the file header.
  • The pull request description must have embedded screenshots.