Initial minimal commit
This commit is contained in:
commit
39e17c304c
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
dist
|
|
@ -0,0 +1,76 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Extension",
|
||||||
|
"type": "extensionHost",
|
||||||
|
"request": "launch",
|
||||||
|
"args": [
|
||||||
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||||
|
"${workspaceFolder}/sampleWorkspace"
|
||||||
|
],
|
||||||
|
"outFiles": [
|
||||||
|
"${workspaceFolder}/dist/ext/**/*.js"
|
||||||
|
],
|
||||||
|
"preLaunchTask": "npm: watch"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Web Extension",
|
||||||
|
"type": "pwa-extensionHost",
|
||||||
|
"debugWebWorkerHost": true,
|
||||||
|
"request": "launch",
|
||||||
|
"args": [
|
||||||
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||||
|
"--extensionDevelopmentKind=web",
|
||||||
|
"${workspaceFolder}/sampleWorkspace"
|
||||||
|
],
|
||||||
|
"outFiles": [
|
||||||
|
"${workspaceFolder}/dist/web/**/*.js"
|
||||||
|
],
|
||||||
|
"preLaunchTask": "npm: watch-web"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"program": "${workspaceFolder}/src/debugAdapter.ts",
|
||||||
|
"args": [
|
||||||
|
"--server=4711"
|
||||||
|
],
|
||||||
|
"outFiles": [
|
||||||
|
"${workspaceFolder}/out/**/*.js"
|
||||||
|
],
|
||||||
|
"preLaunchTask": "npm: compile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Tests",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
|
||||||
|
"args": [
|
||||||
|
"-u",
|
||||||
|
"tdd",
|
||||||
|
"--timeout",
|
||||||
|
"999999",
|
||||||
|
"--colors",
|
||||||
|
"./out/tests/"
|
||||||
|
],
|
||||||
|
"outFiles": [
|
||||||
|
"${workspaceFolder}/out/**/*.js"
|
||||||
|
],
|
||||||
|
"internalConsoleOptions": "openOnSessionStart",
|
||||||
|
"preLaunchTask": "npm: compile"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"compounds": [
|
||||||
|
{
|
||||||
|
"name": "Extension + Server",
|
||||||
|
"configurations": [
|
||||||
|
"Extension",
|
||||||
|
"Server"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"type": "npm",
|
||||||
|
"script": "compile",
|
||||||
|
"isBackground": false,
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"problemMatcher": "$tsc-watch"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "npm",
|
||||||
|
"script": "watch",
|
||||||
|
"group": "build",
|
||||||
|
"isBackground": true,
|
||||||
|
"problemMatcher": [
|
||||||
|
"$ts-webpack-watch",
|
||||||
|
"$tslint-webpack-watch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "npm",
|
||||||
|
"script": "compile-web",
|
||||||
|
"problemMatcher": [
|
||||||
|
"$ts-webpack",
|
||||||
|
"$tslint-webpack"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "npm",
|
||||||
|
"script": "watch-web",
|
||||||
|
"group": "build",
|
||||||
|
"isBackground": true,
|
||||||
|
"problemMatcher": [
|
||||||
|
"$ts-webpack-watch",
|
||||||
|
"$tslint-webpack-watch"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,99 @@
|
||||||
|
{
|
||||||
|
"name": "angelscriptdebuggervscode",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"engines": {
|
||||||
|
"vscode": "^1.59.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"vscode:prepublish": "yarn run package-ext && yarn run package-web",
|
||||||
|
"compile": "tsc -p ./",
|
||||||
|
"lint": "eslint src --ext ts",
|
||||||
|
"watch": "webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./build/extension.webpack.config.js",
|
||||||
|
"watch2": "tsc -watch -p ./",
|
||||||
|
"pretest": "yarn run compile && yarn run lint",
|
||||||
|
"test": "node ./out/test/runTest.js",
|
||||||
|
"package": "vsce package",
|
||||||
|
"publish": "vsce publish",
|
||||||
|
"package-ext": "webpack --mode production --config ./build/extension.webpack.config.js",
|
||||||
|
"compile-web": "webpack --devtool nosources-source-map --config ./build/web-extension.webpack.config.js",
|
||||||
|
"watch-web": "webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./build/web-extension.webpack.config.js",
|
||||||
|
"package-web": "webpack --mode production --config ./build/web-extension.webpack.config.js"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"await-notify": "1.0.1",
|
||||||
|
"vscode-debugadapter": "^1.49.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/glob": "^7.1.4",
|
||||||
|
"@types/mocha": "^9.0.0",
|
||||||
|
"@types/node": "^14.14.37",
|
||||||
|
"@types/vscode": "^1.59.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^4.29.3",
|
||||||
|
"@typescript-eslint/parser": "^4.29.3",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"glob": "^7.1.7",
|
||||||
|
"mocha": "^9.1.0",
|
||||||
|
"ts-loader": "^8.1.0",
|
||||||
|
"typescript": "^4.3.5",
|
||||||
|
"vsce": "^1.96.1",
|
||||||
|
"vscode-debugadapter-testsupport": "^1.49.0",
|
||||||
|
"webpack": "^4.46.0",
|
||||||
|
"webpack-cli": "^3.3.12"
|
||||||
|
},
|
||||||
|
"main": "./dist/ext/extension.js",
|
||||||
|
"browser": "./dist/web/extension.js",
|
||||||
|
"activationEvents": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"workspaceTrust": {
|
||||||
|
"request": "never"
|
||||||
|
},
|
||||||
|
"contributes": {
|
||||||
|
"breakpoints": [
|
||||||
|
{
|
||||||
|
"language": "angelscript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"debuggers": [
|
||||||
|
{
|
||||||
|
"type": "angelscript",
|
||||||
|
"languages": [
|
||||||
|
"angelscript"
|
||||||
|
],
|
||||||
|
"label": "Angelscript Debug",
|
||||||
|
"program": "./out/debugAdapter.js",
|
||||||
|
"runtime": "node",
|
||||||
|
"configurationAttributes": {
|
||||||
|
"attach": {
|
||||||
|
"required": [
|
||||||
|
"port", "scriptPath"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"port": {
|
||||||
|
"type": "number",
|
||||||
|
"description": "Absolute path to a text file.",
|
||||||
|
"default": "8684"
|
||||||
|
},
|
||||||
|
"scriptPath": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Path to resolve the full path from a script section"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"initialConfigurations": [
|
||||||
|
{
|
||||||
|
"type": "mock",
|
||||||
|
"request": "attach",
|
||||||
|
"name": "Ask for file name",
|
||||||
|
"program": "${workspaceFolder}/${command:AskForProgramName}",
|
||||||
|
"stopOnEntry": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
/*---------------------------------------------------------
|
||||||
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||||
|
*--------------------------------------------------------*/
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
import * as vscode from 'vscode';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The compile time flag 'runMode' controls how the debug adapter is run.
|
||||||
|
* Please note: the test suite only supports 'external' mode.
|
||||||
|
*/
|
||||||
|
export function activate(context: vscode.ExtensionContext) {
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.debug.registerDebugConfigurationProvider(
|
||||||
|
'angelscript',
|
||||||
|
new AngelscriptDebugConfigurationProvider()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
let factory = new AngelscriptAdapterClientDescriptorFactory();
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.debug.registerDebugAdapterDescriptorFactory('angelscript', factory)
|
||||||
|
)
|
||||||
|
|
||||||
|
if ('dispose' in factory) {
|
||||||
|
context.subscriptions.push(factory)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function deactivate() {
|
||||||
|
// nothing to do
|
||||||
|
}
|
||||||
|
|
||||||
|
class AngelscriptAdapterClientDescriptorFactory implements vscode.DebugAdapterDescriptorFactory {
|
||||||
|
|
||||||
|
createDebugAdapterDescriptor(session: vscode.DebugSession, executable: vscode.DebugAdapterExecutable | undefined): vscode.ProviderResult<vscode.DebugAdapterDescriptor> {
|
||||||
|
return new vscode.DebugAdapterServer(8684);
|
||||||
|
}
|
||||||
|
|
||||||
|
dispose() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AngelscriptDebugConfigurationProvider
|
||||||
|
implements vscode.DebugConfigurationProvider {
|
||||||
|
/**
|
||||||
|
* Try to add all missing attributes to the debug configuration being launched.
|
||||||
|
*/
|
||||||
|
resolveDebugConfiguration(
|
||||||
|
folder: vscode.WorkspaceFolder | undefined,
|
||||||
|
config: vscode.DebugConfiguration
|
||||||
|
): vscode.ProviderResult<vscode.DebugConfiguration> {
|
||||||
|
return config
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "commonjs",
|
||||||
|
"target": "es6",
|
||||||
|
"outDir": "out",
|
||||||
|
"lib": ["es6"],
|
||||||
|
"sourceMap": true,
|
||||||
|
"rootDir": "src",
|
||||||
|
"strict": true,
|
||||||
|
"noImplicitAny": false,
|
||||||
|
"removeComments": false,
|
||||||
|
"noUnusedLocals": true,
|
||||||
|
"noImplicitThis": true,
|
||||||
|
"inlineSourceMap": false,
|
||||||
|
"preserveConstEnums": true,
|
||||||
|
"strictNullChecks": true,
|
||||||
|
"noUnusedParameters": false
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules"]
|
||||||
|
}
|
Loading…
Reference in New Issue