Contributing

If you would like to submit a fix or enhancement to SublimeLinter, thank you!

BEFORE you submit a pull request, please be sure you have followed these steps:

  1. Fork the SublimeLinter repo if you haven’t already.

  2. Create an upstream remote if you haven’t already:

    git remote add -t master -m master -f upstream git@github.com:SublimeLinter/SublimeLinter3.git
    
  3. Create a new branch from the upstream master:

    git checkout --no-track -b fix upstream/master
    

    Feel free to change “fix” to something more descriptive, like “fix-no-args”.

  4. Make your changes. Please follow the coding guidelines below.

  5. Commit your changes.

  6. When you are ready to push, merge upstream again to make sure your changes will merge cleanly:

    git pull --rebase upstream/master
    

    If there are merge conflicts, fix them, commit the changes, and do this step again until it merges cleanly.

  7. Push your branch to your fork:

    git push -u origin fix
    

    Substitute your branch name for “fix”.

  8. Go to your fork on github and make a pull request. Please give as much information in the description as possible, including the conditions under which the bug occurs, what OS you are using, which linters are affected, sample code which caused the error, etc.

Coding guidelines

I’m a total fanatic about clean code that reads like a story, so please follow these guidelines when writing code for inclusion in SublimeLinter:

  • Indent is 4 spaces.
  • Code should pass flake8 and pep257 linters.
  • Vertical whitespace helps readability, don’t be afraid to use it. I especially like to separate any control structures (if/elif, loops, try/except, etc.) from surrounding code by a blank line above and below.
  • Please use descriptive variable names, no abbreviations unless it’s well known.