code: function initDomainAndHandleNodeCrash() {
          clientInfoDomain = new NodeDomain("LanguageClientInfo", _domainPath);
          //Initialize LanguageClientInfo once the domain has successfully loaded.
          clientInfoDomain.promise().done(function () {
              sendLanguageClientInfo();
              //This is to handle the node failure. If the node process dies, we get an on close
              //event on the websocket connection object. Brackets then spawns another process and
              //restablishes the connection. Once the connection is restablished we send reinitialize
              //the LanguageClient info.
              clientInfoDomain.connection.on("close", function (event, reconnectedPromise) {
                  reconnectedPromise.done(sendLanguageClientInfo);
              });
          }).fail(function (err) {
              console.error("ClientInfo domain could not be loaded: ", err);
          });
      }
docs: This function starts a domain which initializes the LanguageClient node module
  required by the Language Server Protocol framework in Brackets. All the LSP clients
  can only be successfully initiated once this domain has been successfully loaded and
  the LanguageClient info initialized. Refer to sendLanguageClientInfo for more.