import * as vscode from 'vscode'; import * as child_process from 'child_process'; export default { // pdflatex -synctex=1 -interaction=nonstopmode -output-directory="$FILEDIRNAME" "$FILE" > ~/.vscode/.pdflatex_log latex_pdflatex: function latex_pdflatex(textEditor: vscode.TextEditor, textEditorEdit: vscode.TextEditorEdit): void { var document: vscode.TextDocument = textEditor.document; var fileDir: string = document.fileName.substring(0, document.fileName.lastIndexOf('/')); document.save(); // save the document before compile child_process.exec("pdflatex -synctex=1 -interaction=nonstopmode -output-directory=" + fileDir + " " + document.fileName, { cwd: fileDir }, // set the working directory (error, stdout, stderr) => { if (error) { vscode.window.showErrorMessage("pdflatex Failed: " + error.message + ", " + stdout); } else { vscode.window.setStatusBarMessage("Created File: " + document.fileName.replace('.tex', '.pdf'), 5000); } } ); }, // latex_pdflatex: function latex_pdflatex(textEditor: vscode.TextEditor, textEditorEdit: vscode.TextEditorEdit): void { // textEditor.document.save(); // child_process.exec( // "echo $(" + this.extensionPath + "/scripts/pdflatex.sh \"" + textEditor.document.fileName + "\")", // (error: Error, stdout: string, stderr: string) => { // if (error) { // vscode.window.showErrorMessage("pdflatex Failed: " + error.message + ", " + stdout); // } else { // vscode.window.setStatusBarMessage("Created File: " + textEditor.document.fileName.replace('.tex', '.pdf'), 5000); // } // } // ); // }, latex_makeindex: function latex_makeindex(textEditor: vscode.TextEditor, textEditorEdit: vscode.TextEditorEdit): void { textEditor.document.save(); child_process.exec( "echo $(" + this.extensionPath + "/scripts/makeindex.sh \"" + textEditor.document.fileName + "\")", (error: Error, stdout: string, stderr: string) => { if (error) { vscode.window.showErrorMessage("makeindex Failed: " + error.message + ", " + stdout); } else { vscode.window.setStatusBarMessage("Index Created: " + textEditor.document.fileName.replace('.tex', '.idx'), 5000); } } ); } }