/**
 * Airbnb JSHint settings for use with SublimeLinter and Sublime Text 2.
 *
 *   1. Install SublimeLinter at https://github.com/SublimeLinter/SublimeLinter
 *   2. Open user preferences for the SublimeLinter package in Sublime Text 2
 *     * For Mac OS X go to _Sublime Text 2_ > _Preferences_ > _Package Settings_ > _SublimeLinter_ > _Settings - User_
 *   3. Paste the contents of this file into your settings file
 *   4. Save the settings file
 *
 * @version 0.3.0
 * @see     https://github.com/SublimeLinter/SublimeLinter
 * @see     http://www.jshint.com/docs/
 */
{
  /*
   * ENVIRONMENTS
   * =================
   */

  // Define globals exposed by modern browsers.
  "browser": true,

  // Define globals exposed by jQuery.
  "jquery": true,

  // Define globals exposed by Node.js.
  "node": true,

  "predef": [ "lm" ],

   "globals"   : {
    /* MOCHA */
    "ko"         : false,
    "describe"   : false,
    "it"         : false,
    "before"     : false,
    "beforeEach" : false,
    "after"      : false,
    "afterEach"  : false,
    "expect"     : false,
    "runs"       : false,
    "waitsFor"   : false,
    "testTools"  : false,
    "spyOn"      : false
  },

  /*
   * ENFORCING OPTIONS
   * =================
   */

  // Force all variable names to use either camelCase style or UPPER_CASE
  // with underscores.
  "camelcase": true,

  // Prohibit use of == and != in favor of === and !==.
  "eqeqeq": true,

  // Suppress warnings about == null comparisons.
  "eqnull": true,


  // Prohibit use of a variable before it is defined.
  "latedef": true,

  // Require capitalized names for constructor functions.
  "newcap": true,

  // Enforce use of single quotation marks for strings.
  "quotmark": "single",

  // Prohibit trailing whitespace.
  "trailing": true,

  // Prohibit use of explicitly undeclared variables.
  "undef": true,

  // Warn when variables are defined but never used.
  "unused": true,

  // Enforce line length to 80 characters
  "maxlen": 120
}