Skip to content

Contributing to NeoVintageous

Learn about how you can contribute.

Pull Requests

There are two branches:

  • master (patch releases)
  • develop (minor and major releases)

Please send bug fixes to the master branch and features to develop.

Please ensure your pull request supports:

  • Sublime Text 3 (Python 3.3)
  • Sublime Text 4 (Python 3.8)

flake8 and mypy are used to provide some code quality assurances. Run flake8 to check your work and please check that the ci checks pass.

Please check there are no unrelated changes.

Please sign your commits and consider a commit message convention.

Example flake8 and mypy install commands

pip3 install flake8 flake8-docstrings pydocstyle mypy

Testing

Please consider testing your work. There is a test suite in tests/. To run the tests, use the UnitTesting package from @randy3k. The configuration file for the tests is in unittesting.json.

Run the test suite
  1. Open the Command Palette Ctrl+Shift+P (Linux/Win) or Cmd+Shift+P (Mac).
  2. Type "UnitTesting" and press Enter.
  3. Enter "NeoVintageous" as the package to test and press Enter.

Consider enabling pre-releases to get access the latest features, improvements, and bug fixes before they are officially released.

Debugging

The console log is your friend: Menu → View → Show Console

To enable command and input logging, run the following commands in the console:

sublime.log_commands(True)
sublime.log_input(True)

TIP

Install ToggleDebugMode Install via Package Control to get a Developer Tools menu and Command Palette for toggling various Sublime Text loggers.

To enable NeoVintageous logging, set an environment variable named SUBLIME_NEOVINTAGEOUS_DEBUG to a non-blank value or set it to one of the following log levels: critical, error, warning, info, debug.

sh
$ SUBLIME_NEOVINTAGEOUS_DEBUG=INFO subl
ps
set SUBLIME_NEOVINTAGEOUS_DEBUG=INFO& "C:\Program Files\Sublime Text 3\subl.exe"