blob: 86df699793a44caf762c77a48b4e58fdd8a7f52d [file] [log] [blame]
{
"name": "vscode-fuchsia",
"displayName": "Fuchsia",
"description": "Fuchsia developer extension.",
"license": "SEE LICENSE IN LICENSE",
"publisher": "fuchsia-authors",
"repository": {
"type": "git",
"url": "https://fuchsia.googlesource.com/vscode-plugins"
},
"bugs": {
"url": "https://bugs.fuchsia.dev/p/fuchsia/issues/entry?template=Fuchsia+Editor+Tooling"
},
"version": "0.0.2",
"engines": {
"vscode": "^1.62.3"
},
"categories": [
"Other"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./dist/extension",
"contributes": {
"breakpoints": [
{
"language": "c"
},
{
"language": "cpp"
},
{
"language": "rust"
}
],
"debuggers": [
{
"type": "zxdb",
"label": "zxdb",
"languages": [
"cpp",
"c",
"rust"
],
"configurationAttributes": {
"launch": {
"required": [
"launchCommand",
"process"
],
"properties": {
"launchCommand": {
"type": "string",
"description": "Command to launch the debuggee, e.g., fx test hello-world-test",
"default": "${command:EnterLaunchCommand}"
},
"process": {
"type": "string",
"description": "Name of the process that will be launched by the command. For components, its usually the component name\ne.g, hello-world-test.\nPartial names are also valid e.g., hello-world.",
"default": "${command:PickProcess}"
}
}
},
"attach": {
"required": [
"process"
],
"properties": {
"process": {
"type": "string",
"description": "Name of the process to debug. For components, its usually the component name\ne.g., hello-world-test.\nPartial names are also valid e.g., hello-world.",
"default": "${command:PickProcess}"
}
}
}
},
"initialConfigurations": [
{
"name": "Launch(zxdb) <TODO: give a custom name>",
"type": "zxdb",
"request": "launch",
"launchCommand": "<TODO: Add a shell command to launch debuggee e.g., fx test hello-world-test>",
"process": "<TODO: Debugging process name. For components, it's usually the component name. e.g., hello-world-test>"
}
],
"configurationSnippets": [
{
"label": "zxdb: Launch",
"description": "Launch an executable on target.",
"body": {
"name": "Launch(zxdb) <TODO: give a custom name>",
"type": "zxdb",
"request": "launch",
"launchCommand": "<TODO: update this e.g., fx test hello-world-test>",
"process": "<TODO: update this e.g., hello-world-test>"
}
},
{
"label": "zxdb: Launch (input based)",
"description": "Launch an executable on target. Input box will appear for launch command and process name while debugging.",
"body": {
"name": "Launch(zxdb) input based",
"type": "zxdb",
"request": "launch",
"launchCommand": "^\"\\${command:EnterLaunchCommand}\"",
"process": "^\"\\${command:PickProcess}\""
}
},
{
"label": "zxdb: Launch example",
"description": "An example zxdb launch configuration.",
"body": {
"name": "Launch(zxdb) example",
"type": "zxdb",
"request": "launch",
"launchCommand": "fx test hello-world-test",
"process": "hello-world-test"
}
},
{
"label": "zxdb: Attach",
"description": "Attach to a process on target.",
"body": {
"name": "Attach(zxdb) <TODO: give a custom name>",
"type": "zxdb",
"request": "attach",
"process": "<TODO: update this e.g., hello-world-test>"
}
},
{
"label": "zxdb: Attach (input based)",
"description": "Attach to a process on target. Input box will appear for process name while debugging",
"body": {
"name": "Attach(zxdb) input based",
"type": "zxdb",
"request": "attach",
"process": "^\"\\${command:PickProcess}\""
}
},
{
"label": "zxdb: Attach example",
"description": "An example zxdb attach configuration.",
"body": {
"name": "Attach(zxdb) example",
"type": "zxdb",
"request": "attach",
"process": "archivist.cm"
}
}
],
"variables": {
"PickProcess": "extension.zxdb.pickProcess",
"EnterLaunchCommand": "extension.zxdb.enterLaunchCommand"
}
}
],
"commands": [
{
"command": "vscode-fuchsia.target_reboot",
"title": "Reboot Target",
"category": "Fuchsia"
},
{
"command": "vscode-fuchsia.target_show",
"title": "Target Show",
"category": "Fuchsia"
},
{
"command": "vscode-fuchsia.target_snapshot",
"title": "Capture snapshot",
"category": "Fuchsia"
},
{
"command": "vscode-fuchsia.send_feedback",
"title": "Send Feedback",
"category": "Fuchsia"
},
{
"command": "vscode-fuchsia.target_select",
"title": "Select default device",
"category": "Fuchsia"
},
{
"command": "vscode-fuchsia.view_logs",
"title": "View Logs",
"category": "Fuchsia"
}
],
"configuration": {
"title": "Fuchsia SDK",
"properties": {
"fuchsia.ffxPath": {
"type": "string",
"description": "The path to the FFX executable to use with this project."
},
"zxdb.debug": {
"scope": "window",
"type": "boolean",
"default": false,
"description": "Enable logging of debug messages."
},
"zxdb.timeout": {
"scope": "window",
"type": "number",
"default": 30000,
"description": "Timeout in milliseconds for waiting on zxdb console to start."
}
}
},
"viewsContainers": {
"panel": [
{
"id": "fuchsia-logging",
"title": "Fuchsia Logs",
"icon": "resources/fuchsia-explorer.png"
}
]
},
"views": {
"fuchsia-logging": [
{
"type": "webview",
"id": "vscode-fuchsia.loggingView",
"name": "Fuchsia Logs"
}
]
}
},
"icon": "resources/fuchsia_icon_256x256.png",
"scripts": {
"clean": "rm -rf dist && rm -rf out && rm -f $INIT_CWD/webviews/logging/parsing/filters_parser.gen.js",
"compile:test": "npm run codegen:parser && npx tsc -p tsconfig.test.json",
"codegen:parser": "npx peggy -o $INIT_CWD/webviews/logging/parsing/filters_parser.gen.js $INIT_CWD/webviews/logging/parsing/filters.pegjs",
"lint": "npx eslint \"{src,webviews}/**/*.ts\"",
"lint:fix": "npx eslint \"{src,webviews}/**/*.ts\" --fix",
"test": "npm run compile:test && npm run lint && node ./out/src/test/run_test.js",
"vscode:prepublish": "npm run codegen:parser && npx webpack --mode production",
"watch": "npm run codegen:parser && npx webpack --mode development --watch",
"webpack": "npm run codegen:parser && npx webpack --mode development"
},
"devDependencies": {
"@types/chai-dom": "^0.0.12",
"@types/glob": "^7.2.0",
"@types/jsdom": "^16.2.14",
"@types/mocha": "^9.0.0",
"@types/node": "14.x",
"@types/sinon": "^10.0.11",
"@types/vscode": "^1.62.3",
"@types/vscode-webview": "^1.57.0",
"@typescript-eslint/eslint-plugin": "^5.9.1",
"@typescript-eslint/parser": "^5.9.1",
"@vscode/test-electron": "^2.0.3",
"chai-dom": "^1.11.0",
"css-loader": "^6.6.0",
"eslint": "^8.6.0",
"eslint-plugin-jsdoc": "^39.2.9",
"glob": "^7.2.0",
"jsdom": "^19.0.0",
"jsdom-global": "^3.0.2",
"mini-css-extract-plugin": "^2.5.3",
"mocha": "^9.1.3",
"peggy": "^1.2.0",
"sinon": "^13.0.1",
"ts-loader": "^7.0.5",
"typescript": "^4.5.4",
"vsce": "^2.6.6",
"webpack": "^5.69.0",
"webpack-cli": "^4.9.2"
},
"dependencies": {
"@vscode/debugprotocol": "^1.55.1",
"jsonparse": "^1.3.1"
}
}