$(ProjectFiles).on('projectOpen', function() {
        var info = getLinterInfo();
        setSettings(info.defaultSettings);

        ProjectFiles.openFile( info.configFile )
        .done(function( fileReader ) {
            fileReader.readAsText().done(function (text) {
                try {
                    setSettings( JSON.parse(text) );
                }
                catch( ex ) {
                    Dialogs.showModalDialog(
                        "interactiveLinterErr",
                        "Interactive Linter Error",
                        "Error processing jshint settings<br>" +
                        ex.toString());
                }
            });
        })
        .fail(function(err){
            if( err.name !== NativeFileError.NOT_FOUND_ERR ) {
                return;
            }

            ProjectFiles.openFile( info.configFile, "write", true ).done(function( fileWriter ) {
                fileWriter.write( JSON.stringify( info.defaultSettings ) );
            });
        });
    });
  function loadProjectSettings(linter) {
    linter.settings = linter.defaultSettings || {};

    ProjectFiles.openFile(linter.settingsFile)
      .done(function (fileReader) {
      fileReader.readAsText().done(function (text) {
        try {
          linter.settings = JSON.parse(text);
        } catch (ex) {
          Dialogs.showModalDialog(
            "interactiveLinterErr",
            "Interactive Linter Error",
            "Error processing linter settings<br>" +
            ex.toString());
        }
      });
    })
      .fail(function (err) {
      if (err.name !== NativeFileError.NOT_FOUND_ERR) {
        return;
      }

      ProjectFiles.openFile(linter.settingsFile, "write", true).done(function (fileWriter) {
        fileWriter.write(JSON.stringify(linter.defaultSettings));
      });
    });
  }
        .fail(function(err){
            if( err.name !== NativeFileError.NOT_FOUND_ERR ) {
                return;
            }

            ProjectFiles.openFile( info.configFile, "write", true ).done(function( fileWriter ) {
                fileWriter.write( JSON.stringify( info.defaultSettings ) );
            });
        });