mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-22 17:23:00 +02:00
MISC: Support JSX, TS, TSX script files (#1216)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { GetServer } from "../../Server/AllServers";
|
||||
import { editor, Uri } from "monaco-editor";
|
||||
import { OpenScript } from "./OpenScript";
|
||||
import { getFileType, FileType } from "../../utils/ScriptTransformer";
|
||||
|
||||
function getServerCode(scripts: OpenScript[], index: number): string | null {
|
||||
const openScript = scripts[index];
|
||||
@@ -26,7 +27,29 @@ function makeModel(hostname: string, filename: string, code: string) {
|
||||
scheme: "file",
|
||||
path: `${hostname}/${filename}`,
|
||||
});
|
||||
const language = filename.endsWith(".txt") ? "plaintext" : filename.endsWith(".json") ? "json" : "javascript";
|
||||
let language;
|
||||
const fileType = getFileType(filename);
|
||||
switch (fileType) {
|
||||
case FileType.PLAINTEXT:
|
||||
language = "plaintext";
|
||||
break;
|
||||
case FileType.JSON:
|
||||
language = "json";
|
||||
break;
|
||||
case FileType.JS:
|
||||
case FileType.JSX:
|
||||
language = "javascript";
|
||||
break;
|
||||
case FileType.TS:
|
||||
case FileType.TSX:
|
||||
language = "typescript";
|
||||
break;
|
||||
case FileType.NS1:
|
||||
language = "javascript";
|
||||
break;
|
||||
default:
|
||||
throw new Error(`Invalid file type: ${fileType}. Filename: ${filename}.`);
|
||||
}
|
||||
//if somehow a model already exist return it
|
||||
return editor.getModel(uri) ?? editor.createModel(code, language, uri);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user