From 5794d8c8313a3d610d44692b25417ec0519e9066 Mon Sep 17 00:00:00 2001 From: Graham Bates Date: Mon, 29 Jan 2024 20:19:22 +0000 Subject: [PATCH] Add standalone vscode extension This allows easier debugging, and potentially useful in future to use debugger without language features etc. --- .gitignore | 3 +- .vscode/launch.json | 32 +++ .vscode/settings.json | 5 + .vscode/tasks.json | 13 + images/icon.png | Bin 0 -> 10814 bytes package-lock.json | 604 +++++++++++++++++++++++++++++++++++++++++- package.json | 286 +++++++++++++++++++- 7 files changed, 935 insertions(+), 8 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 images/icon.png diff --git a/.gitignore b/.gitignore index 7f5b15e..6b1a6df 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ out node_modules .DS_Store coverage -winuaebootlog.txt \ No newline at end of file +winuaebootlog.txt +*.vsix diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a59d5b9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,32 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "args": ["--extensionDevelopmentPath=${workspaceFolder}"], + "name": "Extension", + "outFiles": ["${workspaceFolder}/out/**/*.js"], + "preLaunchTask": "npm", + "request": "launch", + "type": "extensionHost" + }, + { + "name": "Server", + "type": "node", + "request": "launch", + "cwd": "${workspaceFolder}", + "program": "${workspaceFolder}/src/debugAdapter.ts", + "args": ["--server=4711"], + "outFiles": ["${workspaceFolder}/out/**/*.js"], + "preLaunchTask": "npm" + } + ], + "compounds": [ + { + "name": "Extension + Server", + "configurations": ["Extension", "Server"] + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5071eaa --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "[m68k]": { + "editor.rulers": [] + } +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..1807419 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,13 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "build", + "group": "build", + "problemMatcher": [], + "label": "npm", + "detail": "node ./node_modules/vscode/bin/compile -watch -p ./" + } + ] +} diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..891a8e9d9af44d756abc4cb27c3e564ec97fa760 GIT binary patch literal 10814 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 K*;;9{kpBS>mf3Lt literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 754c7b7..6639d03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "uae-dap", - "version": "1.0.5", + "version": "1.0.7", "license": "GNU General Public License v3.0", "dependencies": { "@vscode/debugadapter": "^1.55.1", @@ -40,10 +40,12 @@ "prettier": "^2.6.2", "rimraf": "^3.0.2", "ts-jest": "^28.0.2", - "typescript": "^4.6.4" + "typescript": "^4.6.4", + "vscode": "^1.1.37" }, "engines": { - "node": "*" + "node": "*", + "vscode": "^1.84.2" } }, "node_modules/@ampproject/remapping": { @@ -1188,6 +1190,15 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/@types/babel__core": { "version": "7.1.19", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", @@ -1664,6 +1675,18 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1907,6 +1930,12 @@ "node": ">=8" } }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, "node_modules/browserslist": { "version": "4.20.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", @@ -2076,6 +2105,12 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2168,6 +2203,15 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz", "integrity": "sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA==" }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "28.0.2", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", @@ -2245,6 +2289,21 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -2877,6 +2936,15 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2898,12 +2966,48 @@ "node": ">=8" } }, + "node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -3992,6 +4096,125 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "dev": true, + "dependencies": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "dev": true + }, + "node_modules/mocha/node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -4981,6 +5204,118 @@ "node": ">=10.12.0" } }, + "node_modules/vscode": { + "version": "1.1.37", + "resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.37.tgz", + "integrity": "sha512-vJNj6IlN7IJPdMavlQa1KoFB3Ihn06q1AiN3ZFI/HfzPNzbKZWPPuiU+XkpNOfGU5k15m4r80nxNPlM7wcc0wg==", + "deprecated": "This package is deprecated in favor of @types/vscode and vscode-test. For more information please read: https://code.visualstudio.com/updates/v1_36#_splitting-vscode-package-into-typesvscode-and-vscodetest", + "dev": true, + "dependencies": { + "glob": "^7.1.2", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "mocha": "^5.2.0", + "semver": "^5.4.1", + "source-map-support": "^0.5.0", + "vscode-test": "^0.4.1" + }, + "bin": { + "vscode-install": "bin/install" + }, + "engines": { + "node": ">=8.9.3" + } + }, + "node_modules/vscode-test": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-0.4.3.tgz", + "integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==", + "deprecated": "This package has been renamed to @vscode/test-electron, please update to the new name", + "dev": true, + "dependencies": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1" + }, + "engines": { + "node": ">=8.9.3" + } + }, + "node_modules/vscode-test/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/vscode-test/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/vscode-test/node_modules/http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/vscode-test/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/vscode/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vscode/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -5985,6 +6320,12 @@ "@sinonjs/commons": "^1.7.0" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, "@types/babel__core": { "version": "7.1.19", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", @@ -6339,6 +6680,15 @@ "dev": true, "requires": {} }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -6530,6 +6880,12 @@ "fill-range": "^7.0.1" } }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, "browserslist": { "version": "4.20.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", @@ -6651,6 +7007,12 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -6730,6 +7092,12 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz", "integrity": "sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA==" }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, "diff-sequences": { "version": "28.0.2", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", @@ -6794,6 +7162,21 @@ } } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -7257,6 +7640,12 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -7272,12 +7661,39 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==", + "dev": true + }, "html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -8103,6 +8519,101 @@ "minimist": "^1.2.6" } }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8791,6 +9302,93 @@ "convert-source-map": "^1.6.0" } }, + "vscode": { + "version": "1.1.37", + "resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.37.tgz", + "integrity": "sha512-vJNj6IlN7IJPdMavlQa1KoFB3Ihn06q1AiN3ZFI/HfzPNzbKZWPPuiU+XkpNOfGU5k15m4r80nxNPlM7wcc0wg==", + "dev": true, + "requires": { + "glob": "^7.1.2", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "mocha": "^5.2.0", + "semver": "^5.4.1", + "source-map-support": "^0.5.0", + "vscode-test": "^0.4.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "vscode-test": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-0.4.3.tgz", + "integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==", + "dev": true, + "requires": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + } + } + }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index b3e523b..f64bd7d 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,30 @@ "version": "1.0.7", "description": "Debug Adapter Protocol for Amiga development with FS-UAE or WinUAE", "main": "out/src/index.js", + "displayName": "UAE DAP", + "license": "GNU General Public License v3.0", + "homepage": "https://github.com/grahambates/uae-dap", + "bugs": { + "url": "https://github.com/grahambates/grahambates/uae-dap/issues" + }, + "publisher": "gigabates", "engines": { - "node": "*" + "node": "*", + "vscode": "^1.84.2" + }, + "categories": [ + "Debuggers" + ], + "icon": "images/icon.png", + "galleryBanner": { + "color": "#000000", + "theme": "dark" }, + "activationEvents": [ + "onDebug", + "onLanguage:m68k", + "workspaceContains:**/*.{s,S,asm,ASM}" + ], "bin": "cli.js", "repository": { "type": "git", @@ -23,6 +44,260 @@ "fs-uae", "win-uae" ], + "contributes": { + "breakpoints": [ + { + "language": "m68k" + } + ], + "debuggers": [ + { + "type": "uae-dap", + "label": "UAE: Debug", + "program": "./out/src/debugAdapter.js", + "runtime": "node", + "configurationAttributes": { + "launch": { + "required": [ + "program" + ], + "properties": { + "program": { + "type": "string", + "description": "Local path of target Amiga binary", + "default": "^\"\\${workspaceFolder\\}/uae/dh0/myprogram\"" + }, + "remoteProgram": { + "type": "string", + "description": "Remote path of target Amiga binary (default: SYS:{basename of program})" + }, + "stopOnEntry": { + "type": "boolean", + "description": "Automatically stop target after launch", + "default": false + }, + "noDebug": { + "type": "boolean", + "description": "Just launch emulator without debugging", + "default": false + }, + "trace": { + "type": "boolean", + "description": "Enable verbose logging", + "default": false + }, + "serverName": { + "type": "string", + "description": "Host name of the debug server", + "default": "localhost" + }, + "serverPort": { + "type": "number", + "description": "Port number of the debug server", + "default": 2345 + }, + "exceptionMask": { + "type": "number", + "description": "Mask used to catch the exceptions", + "default": 8188 + }, + "emulatorType": { + "type": "string", + "enum": [ + "fs-uae", + "winuae" + ], + "description": "Emulator program type", + "default": "fs-uae" + }, + "emulatorBin": { + "type": "string", + "description": "Path of emulator executable (default: use bundled version)" + }, + "emulatorArgs": { + "type": "array", + "items": { + "type": "string", + "title": "Emulator option" + }, + "default": [], + "description": "Additional CLI args to pass to emulator program. Remote debugger args are added automatically" + } + } + }, + "attach": { + "required": [ + "program" + ], + "properties": { + "program": { + "type": "string", + "description": "Local path of target Amiga binary", + "default": "^\"\\${workspaceFolder\\}/uae/dh0/myprogram\"" + }, + "stopOnEntry": { + "type": "boolean", + "description": "Automatically stop target after launch", + "default": false + }, + "trace": { + "type": "boolean", + "description": "Enable verbose logging", + "default": false + }, + "serverName": { + "type": "string", + "description": "Host name of the debug server", + "default": "localhost" + }, + "serverPort": { + "type": "number", + "description": "Port number of the debug server", + "default": 2345 + }, + "exceptionMask": { + "type": "number", + "description": "Mask used to catch the exceptions", + "default": 8188 + } + } + } + }, + "initialConfigurations": [ + { + "type": "uae-dap", + "request": "launch", + "name": "FS-UAE Debug", + "stopOnEntry": false, + "program": "${workspaceFolder}/uae/dh0/myprogram", + "remoteProgram": "SYS:myprogram", + "emulatorType": "fs-uae", + "emulatorArgs": [ + "--hard_drive_0=${workspaceFolder}/uae/dh0", + "--automatic_input_grab=0" + ], + "preLaunchTask": "build" + }, + { + "type": "uae-dap", + "request": "launch", + "name": "FS-UAE Launch", + "noDebug": true, + "program": "${workspaceFolder}/uae/dh0/myprogram", + "remoteProgram": "SYS:myprogram", + "emulatorType": "fs-uae", + "emulatorArgs": [ + "--hard_drive_0=${workspaceFolder}/uae/dh0", + "--automatic_input_grab=0" + ], + "preLaunchTask": "build" + }, + { + "type": "uae-dap", + "request": "launch", + "name": "WinUAE Debug", + "stopOnEntry": false, + "program": "${workspaceFolder}/uae/dh0/myprogram", + "remoteProgram": "SYS:myprogram", + "emulatorType": "winuae", + "emulatorArgs": [ + "-s", + "filesystem=rw,dh0:${workspaceFolder}/uae/dh0" + ], + "preLaunchTask": "build" + }, + { + "type": "uae-dap", + "request": "launch", + "name": "WinUAE Launch", + "noDebug": true, + "program": "${workspaceFolder}/uae/dh0/myprogram", + "remoteProgram": "SYS:myprogram", + "emulatorType": "winuae", + "emulatorArgs": [ + "-s", + "filesystem=rw,dh0:${workspaceFolder}/uae/dh0" + ], + "preLaunchTask": "build" + } + ], + "configurationSnippets": [ + { + "label": "FS-UAE Debug", + "description": "A new configuration for debugging a program in FS-UAE.", + "body": { + "type": "uae-dap", + "request": "launch", + "name": "FS-UAE Debug", + "stopOnEntry": false, + "program": "^\"\\${workspaceFolder\\}/uae/dh0/myprogram\"", + "remoteProgram": "SYS:myprogram", + "emulatorType": "fs-uae", + "emulatorArgs": [ + "^\"--hard_drive_0=\\${workspaceFolder\\}/uae/dh0\"", + "--automatic_input_grab=0" + ], + "preLaunchTask": "build" + } + }, + { + "label": "FS-UAE Run", + "description": "A new configuration to launch a program in FS-UAE.", + "body": { + "type": "uae-dap", + "request": "launch", + "name": "FS-UAE Launch", + "noDebug": true, + "program": "^\"\\${workspaceFolder\\}/uae/dh0/myprogram\"", + "remoteProgram": "SYS:myprogram", + "emulatorType": "fs-uae", + "emulatorArgs": [ + "^\"--hard_drive_0=\\${workspaceFolder\\}/uae/dh0\"", + "--automatic_input_grab=0" + ], + "preLaunchTask": "build" + } + }, + { + "label": "WinUAE Debug", + "description": "A new configuration for debugging a program in WinUAE.", + "body": { + "type": "uae-dap", + "request": "launch", + "name": "WinUAE Debug", + "stopOnEntry": false, + "program": "^\"\\${workspaceFolder\\}/uae/dh0/myprogram\"", + "remoteProgram": "SYS:myprogram", + "emulatorType": "winuae", + "emulatorArgs": [ + "-s", + "^\"filesystem=rw,dh0:\\${workspaceFolder\\}/uae/dh0\"" + ], + "preLaunchTask": "build" + } + }, + { + "label": "WinUAE Run", + "description": "A new configuration to launch a program in WinUAE.", + "body": { + "type": "uae-dap", + "request": "launch", + "name": "WinUAE Launch", + "noDebug": true, + "program": "^\"\\${workspaceFolder\\}/uae/dh0/myprogram\"", + "remoteProgram": "SYS:myprogram", + "emulatorType": "winuae", + "emulatorArgs": [ + "-s", + "^\"filesystem=rw,dh0:\\${workspaceFolder\\}/uae/dh0\"" + ], + "preLaunchTask": "build" + } + } + ] + } + ] + }, "scripts": { "check": "npm run lint && npm run type-check && npm run test", "build": "tsc -p . --declaration", @@ -33,9 +308,11 @@ "lint-fix": "eslint . --ext .ts --fix", "test": "jest", "test-coverage": "jest --coverage", - "prepare": "husky install" + "prepare": "husky install", + "vscode:prepublish": "npm run build", + "package": "vsce package", + "publish": "vsce publish" }, - "license": "GNU General Public License v3.0", "dependencies": { "@vscode/debugadapter": "^1.55.1", "@vscode/debugprotocol": "^1.55.1", @@ -65,6 +342,7 @@ "prettier": "^2.6.2", "rimraf": "^3.0.2", "ts-jest": "^28.0.2", - "typescript": "^4.6.4" + "typescript": "^4.6.4", + "vscode": "^1.1.37" } }