}).then(function () { if (texRoot) { options.texRoot = texRoot; } if (options.texBinDirectory.trim() === "") { //ensure the tex bin directory is set showSettingsDialog(); ConsolePanel.clear().appendMessage(Strings.TEX_BIN_DIR_ERROR); } else if (options.compiler === "bibtex") { bibtex(options); return; } else { var compileMessage = options.compiler + ": " + Strings.COMPILING + " " + options.fileName + "\n"; ConsolePanel.clear() .appendMessage(compileMessage); latexDomain.exec("compile", options) .done(function (res) { latexIcon.addClass("on").removeClass("error"); console.log(res); ConsolePanel.appendMessage(res.stdout.toString()); }).fail(function (err) { latexIcon.addClass("error").removeClass("on"); console.log(err); ConsolePanel.appendMessage("\n") .appendMessage(err.stdout.toString()) .appendMessage(err.stderr.toString()) .appendMessage(err.err ? JSON.stringify(err.err, null, " ") : ""); }); } });
function bibtex(options) { if (!options) { var editor = EditorManager.getCurrentFullEditor(); options = preferences.getAllValues(); options.projectRoot = ProjectManager.getProjectRoot().fullPath; options.fileName = preferences.get("mainFile") ? options.projectRoot + preferences.get("mainFile") : editor.document.file.fullPath; options.compiler = "bibtex"; } var compileMessage = options.compiler + ": " + Strings.COMPILING + " " + options.fileName + "\n"; ConsolePanel.clear() .appendMessage(compileMessage); latexDomain.exec("bibtex", options) .done(function (res) { latexIcon.addClass("on").removeClass("error"); console.log(res); ConsolePanel.appendMessage(res.stdout.toString()); }).fail(function (err) { latexIcon.addClass("error").removeClass("on"); console.log(err); ConsolePanel.appendMessage("\n") .appendMessage(err.stdout.toString()); }); }