{ "name": "opengoal", "displayName": "OpenGOAL", "description": "OpenGOAL Support for VSCode", "publisher": "opengoal", "version": "0.7.0", "engines": { "vscode": "^1.71.0" }, "categories": [ "Programming Languages" ], "icon": "img/logo.png", "license": "ISC", "repository": { "type": "git", "url": "https://github.com/open-goal/opengoal-vscode" }, "main": "./out/extension.js", "scripts": { "vscode:prepublish": "npm run compile", "compile": "tsc -p ./", "lint": "eslint . --ext .ts,.tsx", "watch": "tsc -watch -p ./", "format": "npx prettier --write .", "format:check": "npx prettier --check ." }, "devDependencies": { "@types/follow-redirects": "^1.14.1", "@types/glob": "^8.0.0", "@types/node": "^17.0.45", "@types/vscode": "^1.71.0", "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", "eslint": "^8.25.0", "typescript": "^4.8.4", "vsce": "^2.11.0" }, "dependencies": { "comment-json": "^4.2.3", "follow-redirects": "^1.15.2", "glob": "^8.0.3", "vscode-languageclient": "^8.0.1" }, "activationEvents": [ "onLanguage:opengoal", "onLanguage:opengoal-goos", "onLanguage:opengoal-ir", "onCommand:opengoal.switchFile", "onCommand:opengoal.decomp.openManPage", "onCommand:opengoal.decomp.decompileSpecificFile", "onCommand:opengoal.decomp.decompileCurrentFile", "onCommand:opengoal.decomp.toggleAutoDecompilation", "onCommand:opengoal.decomp.updateSourceFile", "onCommand:opengoal.decomp.updateReferenceTest", "onCommand:opengoal.decomp.casts.repeatLast", "onCommand:opengoal.decomp.casts.labelCastSelection", "onCommand:opengoal.decomp.casts.stackCastSelection", "onCommand:opengoal.decomp.casts.typeCastSelection", "onCommand:opengoal.decomp.misc.addToOffsets", "onCommand:opengoal.decomp.misc.preserveBlock", "onCommand:opengoal.decomp.typeSearcher.open", "onCommand:opengoal.lsp.start", "onCommand:opengoal.lsp.stop", "onCommand:opengoal.lsp.restart" ], "contributes": { "commands": [ { "command": "opengoal.switchFile", "title": "OpenGOAL - Switch File" }, { "command": "opengoal.decomp.openMostRecentIRFile", "title": "OpenGOAL - Open Recent IR2 File" }, { "command": "opengoal.decomp.openManPage", "title": "OpenGOAL - MIPS Man Page" }, { "command": "opengoal.decomp.decompileSpecificFile", "title": "OpenGOAL - Decompile Specific File" }, { "command": "opengoal.decomp.decompileCurrentFile", "title": "OpenGOAL - Decompile Current File" }, { "command": "opengoal.decomp.toggleAutoDecompilation", "title": "OpenGOAL - Toggle Auto-Decompilation" }, { "command": "opengoal.decomp.updateSourceFile", "title": "OpenGOAL - Copy Decompilation to Source File" }, { "command": "opengoal.decomp.updateReferenceTest", "title": "OpenGOAL - Copy Decompilation to Reference Tests" }, { "command": "opengoal.decomp.casts.repeatLast", "title": "OpenGOAL - Casts - Repeat Last" }, { "command": "opengoal.decomp.casts.castSelection", "title": "OpenGOAL - Casts - Add Cast to Selection" }, { "command": "opengoal.decomp.casts.labelCastSelection", "title": "OpenGOAL - Casts - Add Label Cast to Selection" }, { "command": "opengoal.decomp.casts.stackCastSelection", "title": "OpenGOAL - Casts - Add Stack Cast to Selection" }, { "command": "opengoal.decomp.casts.typeCastSelection", "title": "OpenGOAL - Casts - Add Type Cast to Selection" }, { "command": "opengoal.decomp.misc.addToOffsets", "title": "OpenGOAL - Misc - Add to deftype Offsets" }, { "command": "opengoal.decomp.misc.preserveBlock", "title": "OpenGOAL - Misc - Preserve Block" }, { "command": "opengoal.decomp.misc.convertHexToDec", "title": "OpenGOAL - Misc - Convert Hex to Dec" }, { "command": "opengoal.decomp.misc.convertDecToHex", "title": "OpenGOAL - Misc - Convert Dec to Hex" }, { "command": "opengoal.decomp.typeSearcher.open", "title": "OpenGOAL - Misc - Type Searcher" }, { "command": "opengoal.lsp.start", "title": "OpenGOAL - LSP - Start" }, { "command": "opengoal.lsp.stop", "title": "OpenGOAL - LSP - Stop" }, { "command": "opengoal.lsp.restart", "title": "OpenGOAL - LSP - Restart" } ], "configuration": [ { "id": "opengoal-decomp", "title": "Decompilation", "properties": { "opengoal.eeManPagePath": { "type": [ "string", "null" ], "default": null, "description": "File path to the EE Man Page" }, "opengoal.vuManPagePath": { "type": [ "string", "null" ], "default": null, "description": "File path to the VU Man Page" }, "opengoal.decompilerPath": { "type": [ "string", "null" ], "default": null, "description": "File path to the decompiler executable" }, "opengoal.decompilerJak1Config": { "type": [ "string", "null" ], "default": null, "description": "Config to use for decompiling jak 1 related files" }, "opengoal.decompilerJak2Config": { "type": [ "string", "null" ], "default": null, "description": "Config to use for decompiling jak 2 related files" }, "opengoal.decompilerJak1ConfigDirectory": { "type": [ "string", "null" ], "default": null, "description": "Directory containing cast files to use for decompiling jak 1 related files" }, "opengoal.decompilerJak2ConfigDirectory": { "type": [ "string", "null" ], "default": null, "description": "Directory containing cast files to use for decompiling jak 2 related files" } } }, { "id": "opengoal-lsp", "title": "LSP", "properties": { "opengoal.launchLspOnStartup": { "type": "boolean", "default": true, "description": "Whether or not the LSP should be started automatically" }, "opengoal.opengoalLspPath": { "type": "string", "default": "", "description": "Hardcode a path to the LSP executable" }, "opengoal.opengoalLspLogPath": { "type": "string", "default": "", "description": "Provide a path that the LSP should log it's debugging info to" }, "opengoal.opengoalLspLogVerbose": { "type": "boolean", "default": "", "description": "Should the LSP logging be verbose?" } } }, { "id": "opengoal-colors", "title": "Colors", "properties": { "opengoal.colors.goal.entity.global": { "description": "Colors - Global Entity", "type": "string", "default": "#36f9f6" }, "opengoal.colors.goal.storage.control": { "description": "Colors - Storage Control", "type": "string", "default": "#36f9f6" }, "opengoal.colors.goal.symbol": { "description": "Colors - Symbols", "type": "string", "default": "#ff7edbff" }, "opengoal.colors.ir.typeanalysis": { "description": "Colors - Type Analysis", "type": "string", "default": "#fe4450E6" }, "opengoal.colors.ir.error": { "description": "Colors - Error", "type": "string", "default": "#E93F4C" }, "opengoal.colors.ir.warn": { "description": "Colors - Warning", "type": "string", "default": "#68B574" }, "opengoal.colors.ir.info": { "description": "Colors - Info", "type": "string", "default": "#3773AE" }, "opengoal.colors.ir.opnumber": { "description": "Colors - OP Number", "type": "string", "default": "#EC407A" }, "opengoal.colors.ir.reg.a0": { "description": "Colors - Register A0", "type": "string", "default": "#EF9A9A" }, "opengoal.colors.ir.reg.a1": { "description": "Colors - Register A1", "type": "string", "default": "#F48FB1" }, "opengoal.colors.ir.reg.a2": { "description": "Colors - Register A2", "type": "string", "default": "#CE93D8" }, "opengoal.colors.ir.reg.a3": { "description": "Colors - Register A3", "type": "string", "default": "#90CAF9" }, "opengoal.colors.ir.reg.t0": { "description": "Colors - Register T0", "type": "string", "default": "#80DEEA" }, "opengoal.colors.ir.reg.t1": { "description": "Colors - Register T1", "type": "string", "default": "#80CBC4" }, "opengoal.colors.ir.reg.t2": { "description": "Colors - Register T2", "type": "string", "default": "#A5D6A7" }, "opengoal.colors.ir.reg.t3": { "description": "Colors - Register T3", "type": "string", "default": "#E6EE9C" }, "opengoal.colors.ir.reg.float": { "description": "Colors - Register Float", "type": "string", "default": "#BCAAA4" }, "opengoal.colors.ir.reg.return": { "description": "Colors - Register V0 (return)", "type": "string", "default": "#FF9100" }, "opengoal.colors.ir.reg.stack": { "description": "Colors - Register SP (stack)", "type": "string", "default": "#76FF03" }, "opengoal.colors.ir.reg.process": { "description": "Colors - Register S6 (process)", "type": "string", "default": "#aaff63" }, "opengoal.colors.ir.reg.general": { "description": "Colors - Register General", "type": "string", "default": "#B0BEC5" } } } ], "configurationDefaults": { "[opengoal-ir]": { "editor.bracketPairColorization.enabled": false, "editor.inlayHints.enabled": "offUnlessPressed" } }, "customEditors": [ { "viewType": "pdf.opengoal.manpage", "displayName": "OpenGOAL Manpage Preview", "selector": [ { "filenamePattern": "*.pdf" } ] } ], "menus": { "editor/context": [ { "when": "resourceLangId == opengoal-ir", "command": "opengoal.decomp.openManPage", "group": "z_commands" } ] }, "languages": [ { "id": "opengoal", "aliases": [ "OpenGOAL", "opengoal" ], "extensions": [ ".gc", ".gd" ], "icon": { "light": "./icons/opengoal.png", "dark": "./icons/opengoal.png" }, "configuration": "./syntaxes/configs/opengoal.jsonc" }, { "id": "opengoal-goos", "aliases": [ "OpenGOAL-GOOS", "opengoal-goos" ], "extensions": [ ".gs", ".gp" ], "icon": { "light": "./icons/opengoal-goos.png", "dark": "./icons/opengoal-goos.png" }, "configuration": "./syntaxes/configs/opengoal-goos.jsonc" }, { "id": "opengoal-ir", "aliases": [ "OpenGOAL-IR", "opengoal-ir" ], "filenamePatterns": [ "*_ir2.asm" ], "icon": { "light": "./icons/opengoal-ir.png", "dark": "./icons/opengoal-ir.png" }, "configuration": "./syntaxes/configs/opengoal-ir.jsonc" } ], "grammars": [ { "language": "opengoal", "scopeName": "source.opengoal", "path": "./syntaxes/opengoal.tmLanguage.json" }, { "language": "opengoal-goos", "scopeName": "source.opengoal-goos", "path": "./syntaxes/opengoal-goos.tmLanguage.json" }, { "language": "opengoal-ir", "scopeName": "source.opengoal-ir", "path": "./syntaxes/opengoal-ir.tmLanguage.json", "embeddedLanguages": { "meta.embedded.block.opengoal": "opengoal" } } ], "snippets": [ { "language": "opengoal", "path": "./snippets/opengoal.json" } ] } }