Permalink
Fetching contributors…
Cannot retrieve contributors at this time
66 lines (43 sloc) 2.86 KB

Contributing to gruvbox for Sublime Text

Contributions are always welcome. Before contributing please search the issue tracker; your issue may have already been discussed or fixed in develop. To contribute, fork gruvbox, commit your changes, & send a pull request to the develop branch.

Feature Requests

Feature requests should be submitted in the issue tracker, with a description of the expected behavior, where they’ll remain closed until sufficient interest, e.g. 👍’s, has been shown by the community. Before submitting a request, please search for similar ones in the closed issues.

Pull Requests

For additions or bug fixes you should only need to modify the *.js files under the ./.gulp/ directory.

Do not edit the *.sublime-theme, .tmTheme, or .sublime-settings files directly as your changes will not be retained on the next build

Building

To build the themes, schemes, and widgets you will need Node.js

  1. Install the dependencies with npm install
  2. Run ./.gulp/build.js with Node to build everything
 Usage: build [options]

  Options:

    -h, --help    output usage information
    -t, --theme   Build Themes
    -s, --scheme  Build Schemes
    -w, --widget  Build Widgets

Optionally, you can use gulp to ease the build process. You will need to have gulp installed globally.

The following gulp tasks are available:

  • gulp runs the default watch task.
  • gulp watch watches ./.gulp/*.js and builds everything on change.
  • gulp build_themes builds theme .sublime-themes
  • gulp build_schemes builds color scheme .tmThemes
  • gulp build_widgets builds widget .sublime-settings
  • gulp build_all builds themes, schemes, and widgets
  • gulp build_icons builds file-type icon .tmPreferences
  • gulp build builds themes, schemes, widgets, and icons

Navigating the Files

  • ./.gulp/build.js the main script which builds themes, schemes, and widgets
  • ./.gulp/icons.js script which creates .tmPreferences for all icons in ./.gulp/icons/
  • ./.gulp/components/*.js contains all the .sublime-theme components
  • ./.gulp/scheme.js contains all the .tmTheme components
  • ./.gulp/widget.js contains all the .sublime-settings widget components

Coding Guidelines

In addition to the following guidelines, please follow the conventions already established in the code.

All *.js files should follow the Airbnb JavaScript Style Guide

Guidelines are enforced using JSCS:

$ npm run style