blob: 7298c14a9b2c0c25deff6a69baaaad023d1a0927 [file] [log] [blame]
{
"name": "vscode-fuchsia",
"displayName": "Fuchsia",
"description": "Fuchsia developer extension.",
"license": "SEE LICENSE IN LICENSE",
"publisher": "fuchsia-authors",
"typings": "dist/types",
"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": "1.2024050.0",
"engines": {
"vscode": "^1.66.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onLanguage:fidl",
"onLanguage:cml",
"workspaceContains:.jiri_root/bin/ffx",
"workspaceContains:tools/ffx",
"onView:vscode-fuchsia.loggingView",
"onDebugResolve:zxdb",
"onCommand:fuchsia.target.select",
"onCommand:fuchsia.target.show",
"onCommand:fuchsia.sendFeedback",
"onCommand:fuchsia.viewLogs"
],
"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}"
},
"recursive": {
"type": "boolean",
"description": "Whether to also attach to child components.",
"default": false
}
}
}
},
"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": "fuchsia.internal.zxdb.pickProcess",
"EnterLaunchCommand": "fuchsia.internal.zxdb.enterLaunchCommand"
}
}
],
"commands": [
{
"command": "fuchsia.emu.start",
"title": "Start Emulator",
"category": "Fuchsia"
},
{
"command": "fuchsia.emu.stop",
"title": "Stop Emulator",
"category": "Fuchsia"
},
{
"command": "fuchsia.zxdb.attach",
"title": "Attach Debugger",
"category": "Fuchsia",
"icon": "$(debug)"
},
{
"command": "fuchsia.target.reboot",
"title": "Reboot Target",
"category": "Fuchsia"
},
{
"command": "fuchsia.target.powerOff",
"title": "Power off Target",
"category": "Fuchsia"
},
{
"command": "fuchsia.target.show",
"title": "Target Show",
"category": "Fuchsia"
},
{
"command": "fuchsia.target.snapshot",
"title": "Capture snapshot",
"category": "Fuchsia"
},
{
"command": "fuchsia.sendFeedback",
"title": "Send Feedback",
"category": "Fuchsia"
},
{
"command": "fuchsia.target.select",
"title": "Select default device",
"category": "Fuchsia"
},
{
"command": "fuchsia.viewLogs",
"title": "View Logs",
"category": "Fuchsia"
},
{
"command": "fuchsia.component.show",
"title": "Show component details",
"category": "Fuchsia"
},
{
"command": "fuchsia.refreshComponentExplorer",
"title": "Refresh component explorer",
"icon": "$(refresh)",
"category": "Fuchsia"
}
],
"configuration": [
{
"title": "Fuchsia SDK",
"id": "fuchsia",
"properties": {
"fuchsia.ffxPath": {
"type": "string",
"description": "The path to the FFX executable to use with this project."
},
"fuchsia.debug": {
"scope": "window",
"type": "boolean",
"default": false,
"description": "Enable logging of debug messages."
},
"fuchsia.connectionTimeout": {
"scope": "window",
"type": "number",
"default": 1000,
"description": "FFX connection timeout in milliseconds (default = 1000)."
},
"fuchsia.zxdb.timeout": {
"scope": "window",
"type": "number",
"default": 30000,
"description": "ZXDB timeout in milliseconds."
},
"fuchsia.featurePreview": {
"scope": "window",
"type": "string",
"default": "auto",
"enum": [
"nightly",
"stable",
"auto"
],
"enumDescriptions": [
"use features only enabled in nightly builds, regardless of the version of the extension",
"use only features available in stable builds, regardless of the version of the extension",
"autodetect which features to enabled based on the version of the extension"
],
"markdownDescription": "Bulk-enable or disable feature previews. Individual options in Fuchsia: Feature Previews will override this setting."
}
}
}
],
"grammars": [
{
"language": "fidl",
"scopeName": "source.fidl",
"path": "./dist/resources/fidl.tmLanguage.json"
},
{
"language": "cml",
"scopeName": "source.cml",
"path": "./dist/resources/cml.tmLanguage.json"
},
{
"language": "fuchsia-log",
"scopeName": "source.fuchsia-log",
"path": "./dist/resources/fuchsia-log.tmLanguage.json"
}
],
"languages": [
{
"id": "fidl",
"aliases": [
"FIDL",
"Fidl",
"fidl"
],
"extensions": [
".fidl"
],
"configuration": "./resources/language_configs/fidl.json"
},
{
"id": "cml",
"aliases": [
"CML",
"Cml",
"cml"
],
"extensions": [
".cml"
]
},
{
"id": "fuchsia-log",
"aliases": [
"fuchsia-log"
],
"extensions": [
".fuchsia-log"
]
}
],
"views": {
"debug": [
{
"id": "vscode-fuchsia.componentExplorer",
"name": "Fuchsia Components"
}
]
},
"menus": {
"view/title": [
{
"command": "fuchsia.refreshComponentExplorer",
"when": "view == vscode-fuchsia.componentExplorer",
"group": "navigation"
}
],
"view/item/context": [
{
"command": "fuchsia.zxdb.attach",
"when": "view == vscode-fuchsia.componentExplorer && viewItem == running",
"group": "inline"
}
]
}
},
"icon": "resources/fuchsia_icon_256x256.png",
"scripts": {
"build": "node build.mjs",
"prepare": "npx tsc",
"watch": "node build.mjs watch",
"clean": "rm -rf dist && rm -rf test-dist",
"preupdate-syntax-snapshot": "npm run build",
"update-syntax-snapshot": "npx vscode-tmgrammar-snap --updateSnapshot 'src/test/suite/snap/**/*.test.*[!p]'",
"pretest": "node build.mjs && git clean -Xdf ./testdata/",
"test": "npm run typecheck && npm run lint && node ./test-dist/src/test/run_test.js",
"lint": "npx eslint \"src/**/*.ts\"",
"typecheck": "npx tsc",
"typecheck:watch": "npx tsc --watch",
"lint:fix": "npx eslint \"src/**/*.ts\" --fix",
"pretest:ci": "node build.mjs",
"test:ci": "node ./test-dist/src/test/run_test.js",
"vscode:prepublish": "NODE_ENV=production node build.mjs",
"bc": "node build.mjs && npx tsc"
},
"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.66.0",
"@typescript-eslint/eslint-plugin": "^5.9.1",
"@typescript-eslint/parser": "^5.9.1",
"@vscode/codicons": "^0.0.30",
"@vscode/test-electron": "^2.0.3",
"@vscode/vsce": "^2.25.0",
"@web/test-runner": "^0.14.0",
"chai-dom": "^1.11.0",
"esbuild": "^0.15.0",
"eslint": "^8.6.0",
"eslint-plugin-jsdoc": "^39.6.4",
"glob": "^7.2.0",
"mocha": "^9.1.3",
"peggy": "^1.2.0",
"sinon": "^13.0.1",
"source-map-support": "^0.5.21",
"typescript": "^4.5.4",
"vscode-tmgrammar-test": "^0.1.1"
},
"dependencies": {
"@vscode/debugprotocol": "^1.55.1",
"jsonparse": "^1.3.1",
"lit": "^2.2.5"
},
"__metadata": {
"id": "72e71b86-9c3a-42ac-bad6-7beecee326c5",
"publisherDisplayName": "The Fuchsia Authors",
"publisherId": "6b4341fb-1e2c-4a5e-9c1f-1d34016009f5",
"isPreReleaseVersion": false
}
}