Source commit: 01875e88a3e25379c309489f9f057dd97c0d37de Public tree identity: sha256:8f37a1aa0cc8f408975daf9cabbe193f8f4c169c6d25e8795e67a3ed5083c76b
234 lines
6.9 KiB
JSON
234 lines
6.9 KiB
JSON
{
|
|
"name": "clusterflux-vscode",
|
|
"displayName": "Clusterflux",
|
|
"description": "VS Code support for Clusterflux build programs, environments, and debugging.",
|
|
"version": "0.1.0",
|
|
"publisher": "clusterflux",
|
|
"engines": {
|
|
"vscode": "^1.80.0"
|
|
},
|
|
"categories": [
|
|
"Debuggers",
|
|
"Other"
|
|
],
|
|
"activationEvents": [
|
|
"onLanguage:rust",
|
|
"onDebugResolve:clusterflux",
|
|
"onView:clusterflux.nodes",
|
|
"onView:clusterflux.processes",
|
|
"onView:clusterflux.logs",
|
|
"onView:clusterflux.artifacts",
|
|
"onView:clusterflux.inspector",
|
|
"workspaceContains:envs/*/Containerfile",
|
|
"workspaceContains:envs/*/Dockerfile"
|
|
],
|
|
"main": "./extension.js",
|
|
"files": [
|
|
"extension.js",
|
|
"resources/**"
|
|
],
|
|
"contributes": {
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "clusterflux",
|
|
"title": "Clusterflux",
|
|
"icon": "resources/clusterflux.svg"
|
|
}
|
|
]
|
|
},
|
|
"debuggers": [
|
|
{
|
|
"type": "clusterflux",
|
|
"label": "Clusterflux",
|
|
"languages": [
|
|
"rust"
|
|
],
|
|
"configurationAttributes": {
|
|
"launch": {
|
|
"type": "object",
|
|
"required": [
|
|
"request",
|
|
"type",
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"default": "Clusterflux: Launch Virtual Process"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": "clusterflux"
|
|
},
|
|
"request": {
|
|
"type": "string",
|
|
"enum": [
|
|
"launch"
|
|
],
|
|
"default": "launch"
|
|
},
|
|
"entry": {
|
|
"type": "string",
|
|
"description": "Clusterflux entrypoint such as build, test, package, or release."
|
|
},
|
|
"project": {
|
|
"type": "string",
|
|
"description": "Project directory. Defaults to the current workspace folder."
|
|
},
|
|
"sourcePath": {
|
|
"type": "string",
|
|
"description": "Source file shown in the Clusterflux virtual stack. Defaults to src/build.rs or src/main.rs."
|
|
},
|
|
"runtimeBackend": {
|
|
"type": "string",
|
|
"enum": [
|
|
"local-services",
|
|
"live-services",
|
|
"simulated"
|
|
],
|
|
"default": "local-services",
|
|
"description": "Runtime backend used by the debug adapter. F5 defaults to local coordinator/node services; live-services uses the configured coordinator and an attached node."
|
|
},
|
|
"coordinatorEndpoint": {
|
|
"type": "string",
|
|
"description": "Optional coordinator assertion. Normally inferred from the authenticated CLI session."
|
|
},
|
|
"processId": {
|
|
"type": "string",
|
|
"description": "Explicit virtual process identity. Normally derived from the workspace and entrypoint."
|
|
}
|
|
}
|
|
},
|
|
"attach": {
|
|
"type": "object",
|
|
"required": [
|
|
"request",
|
|
"type",
|
|
"name",
|
|
"processId"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"default": "Clusterflux: Attach to Virtual Process"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": "clusterflux"
|
|
},
|
|
"request": {
|
|
"type": "string",
|
|
"enum": [
|
|
"attach"
|
|
],
|
|
"default": "attach"
|
|
},
|
|
"processId": {
|
|
"type": "string",
|
|
"description": "Virtual process to attach to."
|
|
},
|
|
"entry": {
|
|
"type": "string",
|
|
"description": "Entrypoint represented by the virtual process."
|
|
},
|
|
"project": {
|
|
"type": "string",
|
|
"description": "Local workspace used for source and bundle metadata."
|
|
},
|
|
"sourcePath": {
|
|
"type": "string",
|
|
"description": "Source file shown in the Clusterflux virtual stack."
|
|
},
|
|
"runtimeBackend": {
|
|
"type": "string",
|
|
"enum": [
|
|
"local-services",
|
|
"live-services",
|
|
"simulated"
|
|
],
|
|
"default": "live-services"
|
|
},
|
|
"coordinatorEndpoint": {
|
|
"type": "string",
|
|
"description": "Optional coordinator assertion. Normally inferred from the authenticated CLI session."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "clusterflux.refreshProcesses",
|
|
"title": "Clusterflux: Refresh Virtual Processes",
|
|
"icon": "$(refresh)"
|
|
},
|
|
{
|
|
"command": "clusterflux.process.attach",
|
|
"title": "Clusterflux: Attach to Virtual Process",
|
|
"icon": "$(debug-alt)"
|
|
},
|
|
{
|
|
"command": "clusterflux.process.cancel",
|
|
"title": "Clusterflux: Request Process Cancellation",
|
|
"icon": "$(debug-stop)"
|
|
},
|
|
{
|
|
"command": "clusterflux.process.abort",
|
|
"title": "Clusterflux: Abort Virtual Process",
|
|
"icon": "$(error)"
|
|
}
|
|
],
|
|
"menus": {
|
|
"view/title": [
|
|
{
|
|
"command": "clusterflux.refreshProcesses",
|
|
"when": "view == clusterflux.processes",
|
|
"group": "navigation"
|
|
}
|
|
],
|
|
"view/item/context": [
|
|
{
|
|
"command": "clusterflux.process.attach",
|
|
"when": "view == clusterflux.processes && viewItem == clusterflux.virtualProcess",
|
|
"group": "inline@1"
|
|
},
|
|
{
|
|
"command": "clusterflux.process.cancel",
|
|
"when": "view == clusterflux.processes && viewItem == clusterflux.virtualProcess",
|
|
"group": "process@2"
|
|
},
|
|
{
|
|
"command": "clusterflux.process.abort",
|
|
"when": "view == clusterflux.processes && viewItem == clusterflux.virtualProcess",
|
|
"group": "process@3"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"clusterflux": [
|
|
{
|
|
"id": "clusterflux.nodes",
|
|
"name": "Clusterflux Nodes"
|
|
},
|
|
{
|
|
"id": "clusterflux.processes",
|
|
"name": "Clusterflux Processes"
|
|
},
|
|
{
|
|
"id": "clusterflux.logs",
|
|
"name": "Clusterflux Logs"
|
|
},
|
|
{
|
|
"id": "clusterflux.artifacts",
|
|
"name": "Clusterflux Artifacts"
|
|
},
|
|
{
|
|
"id": "clusterflux.inspector",
|
|
"name": "Clusterflux Inspector"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|