code: function handleTimedOut(response) {
  
          var detectedExclusions  = PreferencesManager.get("jscodehints.detectedExclusions") || [],
              filePath            = response.file;
  
          // Don't exclude the file currently being edited
          if (isFileBeingEdited(filePath)) {
              return;
          }
  
          // Handle file that is already excluded
          if (detectedExclusions.indexOf(filePath) !== -1) {
              console.log("JavaScriptCodeHints.handleTimedOut: file already in detectedExclusions array timed out: " + filePath);
              return;
          }
  
          // Save detected exclusion in project prefs so no further time is wasted on it
          detectedExclusions.push(filePath);
          PreferencesManager.set("jscodehints.detectedExclusions", detectedExclusions, { location: { scope: "project" } });
  
          // Show informational dialog
          Dialogs.showModalDialog(
              DefaultDialogs.DIALOG_ID_INFO,
              Strings.DETECTED_EXCLUSION_TITLE,
              StringUtils.format(
                  Strings.DETECTED_EXCLUSION_INFO,
                  StringUtils.breakableUrl(filePath)
              ),
              [
                  {
                      className : Dialogs.DIALOG_BTN_CLASS_PRIMARY,
                      id        : Dialogs.DIALOG_BTN_OK,
                      text      : Strings.OK
                  }
              ]
          );
      }
docs: Handle timed out inference
  
  @param {{path: string, type: string}} response - the response from node domain