// Defaults as of jshint edition 2011-04-16
{
  // If the scan should stop on first error.
  "passfail": false,
  // Maximum errors before stopping.
  "maxerr": 50,


  // Predefined globals
  // If the standard browser globals should be predefined.
  "browser": true,
  // If the Node.js environment globals should be predefined.
  "node": true,
  // If the Rhino environment globals should be predefined.
  "rhino": false,
  // If CouchDB globals should be predefined.
  "couch": false,
  // If the Windows Scripting Host environment globals should be predefined.
  "wsh": false,

  // If jQuery globals should be predefined.
  "jquery": false,
  // If Prototype and Scriptaculous globals should be predefined.
  "prototypejs": false,
  // If MooTools globals should be predefined.
  "mootools": false,
  // If Dojo Toolkit globals should be predefined.
  "dojo": false,

  // Custom predefined globals.
  "predef": ["jasmine", "blackberry", "define", "alert", "prompt", "org", "deviceapis", "Osp", "_cordovaExec", "WinJS", "Windows", "MSApp", "PalmSystem", "PalmServiceBridge", "Acceleration", "webworks", "CORDOVA_JS_BUILD_LABEL", "PLATFORM_VERSION_BUILD_LABEL"],


  // Development
  // If debugger statements should be allowed.
  "debug": false,
  // If logging globals should be predefined (console, alert, etc.).
  "devel": false,


  // ECMAScript 5
  // If ES5 syntax should be allowed.
  "es5": false,
  // Require the "use strict"; pragma.
  "strict": false,
  // If global "use strict"; should be allowed (also enables strict).
  "globalstrict": false,


  // The Good Parts
  // If automatic semicolon insertion should be tolerated.
  "asi": false,
  // If line breaks should not be checked, e.g. `return [\n] x`.
  "laxbreak": false,
  // If bitwise operators (&, |, ^, etc.) should not be allowed.
  "bitwise": false,
  // If assignments inside if, for and while should be allowed. Usually
  // conditions and loops are for comparison, not assignments.
  "boss": true,
  // If curly braces around all blocks should be required.
  "curly": false,
  // If === should be required.
  "eqeqeq": false,
  // If == null comparisons should be tolerated.
  "eqnull": false,
  // If eval should be allowed.
  "evil": true,
  // If ExpressionStatement should be allowed as Programs.
  "expr": true,
  // If `for in` loops must filter with `hasOwnPrototype`.
  "forin": false,
  // If immediate invocations must be wrapped in parens, e.g.
  // `( function(){}() );`.
  "immed": false,
  // If use before define should not be tolerated.
  "latedef": false,
  // If functions should be allowed to be defined within loops.
  "loopfunc": true,
  // If arguments.caller and arguments.callee should be disallowed.
  "noarg": false,
  // If the . should not be allowed in regexp literals.
  "regexp": false,
  // If unescaped first/last dash (-) inside brackets should be tolerated.
  "regexdash": false,
  // If script-targeted URLs should be tolerated.
  "scripturl": false,
  // If variable shadowing should be tolerated.
  "shadow": false,
  // If `new function () { ... };` and `new Object;` should be tolerated.
  "supernew": false,
  // If variables should be declared before used.
  "undef": true,
  // If `this` inside a non-constructor function is valid.
  "validthis": false,
  // If smarttabs should be tolerated
  // (http://www.emacswiki.org/emacs/SmartTabs).
  "smarttabs": false,
  // If the `__proto__` property should be allowed.
  "proto": false,
  // If one case switch statements should be allowed.
  "onecase": false,
  // If non-standard (but widely adopted) globals should be predefined.
  "nonstandard": false,
  // Allow multiline strings.
  "multistr": false,
  // If line breaks should not be checked around commas.
  "laxcomma": false,
  // If semicolons may be omitted for the trailing statements inside of a
  // one-line blocks.
  "lastsemic": false,
  // If the `__iterator__` property should be allowed.
  "iterator": false,
  // If only function scope should be used for scope tests.
  "funcscope": false,
  // If es.next specific syntax should be allowed.
  "esnext": false,


  // Style preferences
  // If constructor names must be capitalized.
  "newcap": false,
  // If empty blocks should be disallowed.
  "noempty": false,
  // If using `new` for side-effects should be disallowed.
  "nonew": false,
  // If names should be checked for leading or trailing underscores
  // (object._attribute would be disallowed).
  "nomen": false,
  // If only one var statement per function should be allowed.
  "onevar": false,
  // If increment and decrement (`++` and `--`) should not be allowed.
  "plusplus": false,
  // If all forms of subscript notation are tolerated.
  "sub": false,
  // If trailing whitespace rules apply.
  "trailing": true,
  // Specify indentation.
  "indent": 4,
  // If strict whitespace rules apply.
  "white": false
}
