You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "arosien (via GitHub)" <gi...@apache.org> on 2023/02/13 17:09:20 UTC

[GitHub] [daffodil-vscode] arosien opened a new pull request, #451: Support "variables" and "tunables" launch arguments.

arosien opened a new pull request, #451:
URL: https://github.com/apache/daffodil-vscode/pull/451

   - "variables" is a JSON object with string values that is passed as Daffodil "external variables" to the parse. Variables are validated at runtime when the parse begins, as they are schema-specific.
   - "tunables" is a JSON object with string values that is passed as Daffodil tunables to the parse. Only the allowed tunable keys, specified at https://daffodil.apache.org/configuration/, are allowed.
   
   Fixes #200.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] mbeckerle commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "mbeckerle (via GitHub)" <gi...@apache.org>.
mbeckerle commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1105054131


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   Probably our tunables doc is also obsolete - because new ones get added, and the doc gets stale, which just makes the argument for generating this on the fly, at runtime, and the UI can pull it over from Daffodil at startup. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] stevedlawrence commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "stevedlawrence (via GitHub)" <gi...@apache.org>.
stevedlawrence commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1105036071


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   Why inject them into the file at all? Can't this list be generated at extension load time and dynamically used where needed? Seems something that changes as often as the list of tunables does shouldn't be hardcoded anywhere.
   
   Also, taking a second look, this is missing a large number of tunables. Is there a reason to not include the full list?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] stevedlawrence commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "stevedlawrence (via GitHub)" <gi...@apache.org>.
stevedlawrence commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1104891426


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   Agreed on the second idea. The `dafext.xsd` file where all these tunables are defined (including descriptions, min/max values, defaults) is in the daffodil-lib jar. If possible, it seems like better idea to extract this information at extension initialization time nased on whatever version of daffodil-lib is being used. Having to manually update this file is a losing battle--new tunables are added all the time, we already new ones for the 3.5.0 release.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] arosien commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "arosien (via GitHub)" <gi...@apache.org>.
arosien commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1108927003


##########
package.json:
##########
@@ -1,491 +1,503 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.40",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^10.0.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.2.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "5.0.1"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",

Review Comment:
   A previous commit changed all spaces to tabs, this changes it back.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] arosien merged pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "arosien (via GitHub)" <gi...@apache.org>.
arosien merged PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] stevedlawrence commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "stevedlawrence (via GitHub)" <gi...@apache.org>.
stevedlawrence commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1105756424


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   Alternative idea just don't validate the list of tunables and just let it be a key/value pair just like the variable property. Daffodil will throw an exception if you try to set a tunable that doesn't exist, so you can catch it that point and let the user know it's invalid (the same should happen for variables I believe?).
   
   Fine with me if changes are in a separate PR.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] arosien commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "arosien (via GitHub)" <gi...@apache.org>.
arosien commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1105029881


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   Unfortunately JSON doesn't have comments.
   
   There's no mechanism to specify some kind of file inclusion in this `package.json` data format, so I think we would need, like you say, an external process to produce the valid tunables and inject them into this configuration file. That's a non-trivial amount of work, so how about I make a new issue for that along with (optionally) removing the explicit tunable names from this file?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] arosien commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "arosien (via GitHub)" <gi...@apache.org>.
arosien commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1105305099


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   > Why inject them into the file at all? Can't this list be generated at extension load time and dynamically used where needed? Seems something that changes as often as the list of tunables does shouldn't be hardcoded anywhere.
   
   The package.json file is the build file for the extension, not the runtime config for it, and I'm not sure there is any other mechanism to configure the allowed launch config schema.
   
   After doing some searches, there are a few projects which seem to run an external program which modify the package.json itself. But for this PR in particular I'd rather separate that work as a new issue.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] mbeckerle commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "mbeckerle (via GitHub)" <gi...@apache.org>.
mbeckerle commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1104881712


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   Can json files have comments? Keeping this list synchronized with any new tunables added in daffodil's tunables XML seems worth commenting on both here and in that XSD file. 
   
   Another idea: We generate  scala code off that XSD file now, we could generate this chunk of JSON too. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [daffodil-vscode] arosien commented on a diff in pull request #451: Support "variables" and "tunables" launch arguments.

Posted by "arosien (via GitHub)" <gi...@apache.org>.
arosien commented on code in PR #451:
URL: https://github.com/apache/daffodil-vscode/pull/451#discussion_r1107519179


##########
package.json:
##########
@@ -1,491 +1,545 @@
 {
-	"name": "apache-daffodil-vscode",
-	"displayName": "Apache Daffodil™ Extension for Visual Studio Code",
-	"description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
-	"version": "1.3.0-SNAPSHOT",
-	"daffodilVersion": "3.4.0",
-	"publisher": "asf",
-	"author": "Apache Daffodil",
-	"license": "Apache-2.0",
-	"engines": {
-		"vscode": "^1.60.2"
-	},
-	"icon": "images/daffodil.ico",
-	"categories": [
-		"Debuggers",
-		"Programming Languages"
-	],
-	"repository": {
-		"type": "git",
-		"url": "https://github.com/apache/daffodil-vscode.git"
-	},
-	"bugs": {
-		"url": "https://github.com/apache/daffodil-vscode/issues"
-	},
-	"scripts": {
-		"gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
-		"precompile": "yarn gen-version-ts",
-		"compile": "tsc -p ./ && yarn sbt",
-		"lint": "yarn prettier src -c",
-		"prewatch": "yarn gen-version-ts && yarn sbt",
-		"watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
-		"webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
-		"prepackage": "yarn install && yarn compile && yarn webpack",
-		"package": "yarn package-setup && yarn package-create",
-		"package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
-		"package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
-		"pretest": "yarn compile && yarn webpack",
-		"test": "node ./out/tests/runTest.js",
-		"sbt": "sbt universal:packageBin"
-	},
-	"dependencies": {
-		"await-notify": "1.0.1",
-		"hexy": "0.3.4",
-		"omega-edit": "0.9.34",
-		"unzip-stream": "0.3.1",
-		"uuid": "^9.0.0",
-		"@vscode/debugadapter": "1.51.0",
-		"wait-port": "^0.3.0",
-		"xdg-app-paths": "8.2.0"
-	},
-	"devDependencies": {
-		"@types/glob": "^8.0.0",
-		"@types/mocha": "^9.1.1",
-		"@types/node": "^18.0.0",
-		"@types/vscode": "^1.60.2",
-		"@vscode/test-electron": "2.1.5",
-		"glob": "8.0.3",
-		"mocha": "10.0.0",
-		"prettier": "2.8.3",
-		"ts-loader": "8.1.0",
-		"typescript": "4.3.5",
-		"@vscode/vsce": "2.15.0",
-		"@vscode/debugadapter-testsupport": "1.51.0",
-		"webpack": "5.75.0",
-		"webpack-cli": "4.10.0"
-	},
-	"extensionDependencies": [
-		"vincaslt.highlight-matching-tag",
-		"wmanth.jar-viewer"
-	],
-	"main": "./dist/ext/extension.js",
-	"activationEvents": [
-		"onLanguage:dfdl",
-		"onDebugResolve:dfdl",
-		"onDebugDynamicConfigurations:dfdl",
-		"onCommand:extension.dfdl-debug.getProgramName",
-		"onCommand:extension.dfdl-debug.getDataName",
-		"onCommand:extension.dfdl-debug.runEditorContents",
-		"onCommand:extension.dfdl-debug.debugEditorContents",
-		"onCommand:launch.config",
-		"onCommand:data.edit",
-		"onCommand:omega_edit.version",
-		"onCommand:toggle.experimental",
-		"onCommand:extension.dfdl-debug.debugLastEditorContents"
-	],
-	"workspaceTrust": {
-		"request": "never"
-	},
-	"contributes": {
-		"languages": [
-			{
-				"id": "dfdl",
-				"aliases": [
-					"dfdl"
-				],
-				"extensions": [
-					".dfdl.xsd"
-				],
-				"configuration": "./language/dfdl.json"
-			}
-		],
-		"grammars": [
-			{
-				"language": "dfdl",
-				"scopeName": "text.xml.dfdl.xsd",
-				"path": "./language/syntaxes/dfdl.tmLanguage.json"
-			}
-		],
-		"menus": {
-			"editor/title": [
-				{
-					"command": "launch.config",
-					"group": "navigation@1"
-				},
-				{
-					"command": "hexview.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@4"
-				},
-				{
-					"command": "infoset.display",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@2"
-				},
-				{
-					"command": "infoset.diff",
-					"when": "resourceLangId == dfdl",
-					"group": "navigation@3"
-				}
-			],
-			"editor/title/run": [
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"commandPalette": [
-				{
-					"command": "extension.dfdl-debug.debugEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "extension.dfdl-debug.runEditorContents",
-					"when": "resourceLangId == dfdl"
-				},
-				{
-					"command": "data.edit",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "omega_edit.version",
-					"enablement": "experimentalFeaturesEnabled"
-				},
-				{
-					"command": "toggle.experimental"
-				},
-				{
-					"command": "extension.dfdl-debug.debugLastEditorContents",
-					"when": "resourceLangId == dfdl"
-				}
-			],
-			"debug/variables/context": [
-				{
-					"command": "extension.dfdl-debug.toggleFormatting",
-					"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
-				}
-			]
-		},
-		"commands": [
-			{
-				"command": "extension.dfdl-debug.debugEditorContents",
-				"title": "Debug File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.runEditorContents",
-				"title": "Run File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(play)"
-			},
-			{
-				"command": "extension.dfdl-debug.debugLastEditorContents",
-				"title": "Debug Last File",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-alt)"
-			},
-			{
-				"command": "extension.dfdl-debug.toggleFormatting",
-				"title": "Toggle between decimal and hex formatting",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "hexview.display",
-				"title": "Display the hex view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-binary)"
-			},
-			{
-				"command": "infoset.display",
-				"title": "Display the infoset view",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(file-code)"
-			},
-			{
-				"command": "infoset.diff",
-				"title": "View infoset diff",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode",
-				"icon": "$(diff)"
-			},
-			{
-				"command": "infoset.save",
-				"title": "Save the current infoset",
-				"category": "Daffodil Debug",
-				"enablement": "inDebugMode"
-			},
-			{
-				"command": "launch.config",
-				"title": "Configure launch.json",
-				"category": "Daffodil Debug",
-				"enablement": "!inDebugMode",
-				"icon": "$(debug-configure)"
-			},
-			{
-				"command": "toggle.experimental",
-				"title": "Enable Experimental Features",
-				"category": "Daffodil Debug"
-			},
-			{
-				"command": "omega_edit.version",
-				"title": "Omega Edit Ω Version Info",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "data.edit",
-				"title": "Data Editor",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			},
-			{
-				"command": "position.goto",
-				"title": "Go to position",
-				"category": "OmegaEdit",
-				"enablement": "experimentalFeaturesEnabled"
-			}
-		],
-		"keybindings": [
-			{
-				"command": "position.goto",
-				"key": "ctrl+alt+g",
-				"mac": "ctrl+cmd+g",
-				"when": "editorTextFocus"
-			}
-		],
-		"breakpoints": [
-			{
-				"language": "dfdl"
-			}
-		],
-		"debuggers": [
-			{
-				"type": "dfdl",
-				"languages": [
-					"dfdl"
-				],
-				"label": "Daffodil Debug",
-				"program": "./out/extension.js",
-				"runtime": "node",
-				"configurationAttributes": {
-					"launch": {
-						"required": [
-							"program",
-							"data"
-						],
-						"properties": {
-							"program": {
-								"type": "string",
-								"description": "Absolute path to the DFDL schema file.",
-								"default": "${command:AskForProgramName}"
-							},
-							"data": {
-								"type": "string",
-								"description": "Absolute path to the input data file.",
-								"default": "${command:AskForDataName}"
-							},
-							"infosetFormat": {
-								"type": "string",
-								"description": "Infoset format type (xml/json)",
-								"default": "xml"
-							},
-							"infosetOutput": {
-								"type": "object",
-								"description": "Destination for final Infoset (file-path | 'console' | 'none')",
-								"default": {
-									"type": "console",
-									"path": "${workspaceFolder}/infoset.xml"
-								}
-							},
-							"stopOnEntry": {
-								"type": "boolean",
-								"description": "Automatically stop after launch.",
-								"default": true
-							},
-							"trace": {
-								"type": "boolean",
-								"description": "Enable logging of the Debug Adapter Protocol.",
-								"default": true
-							},
-							"debugServer": {
-								"type": "integer",
-								"description": "Port debug server running on",
-								"default": 4711
-							},
-							"useExistingServer": {
-								"type": "boolean",
-								"description": "Enable connection to running DAP Server",
-								"default": false
-							},
-							"openHexView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"openInfosetDiffView": {
-								"type": "boolean",
-								"description": "Open hexview on debug start",
-								"default": false
-							},
-							"daffodilDebugClasspath": {
-								"type": "string",
-								"description": "Additional classpaths to be exported to the debugger",
-								"default": ""
-							}
-						}
-					}
-				},
-				"initialConfigurations": [
-					{
-						"type": "dfdl",
-						"request": "launch",
-						"name": "Ask for file name",
-						"program": "${command:AskForProgramName}",
-						"stopOnEntry": true,
-						"data": "${command:AskForDataName}",
-						"infosetFormat": "xml",
-						"infosetOutput": {
-							"type": "file",
-							"path": "${workspaceFolder}/infoset.xml"
-						},
-						"debugServer": 4711,
-						"openHexView": false,
-						"openInfosetView": false,
-						"openInfosetDiffView": false,
-						"daffodilDebugClasspath": ""
-					}
-				],
-				"configurationSnippets": [
-					{
-						"label": "Daffodil Debug: Launch",
-						"description": "A new configuration for 'debugging' a user selected xml file.",
-						"body": {
-							"type": "dfdl",
-							"request": "launch",
-							"name": "Ask for file name",
-							"program": "^\"\\${command:AskForProgramName}\"",
-							"stopOnEntry": true,
-							"data": "^\"\\${command:AskForDataName}\"",
-							"infosetFormat": "xml",
-							"infosetOutput": {
-								"type": "file",
-								"path": "${workspaceFolder}/infoset.xml"
-							},
-							"debugServer": 4711,
-							"openHexView": false,
-							"openInfosetView": false,
-							"openInfosetDiffView": false,
-							"daffodilDebugClasspath": ""
-						}
-					}
-				],
-				"variables": {
-					"AskForProgramName": "extension.dfdl-debug.getProgramName",
-					"AskForDataName": "extension.dfdl-debug.getDataName"
-				}
-			}
-		],
-		"configuration": [
-			{
-				"title": "Daffodil Debugger Global",
-				"properties": {
-					"type": {
-						"type": "string",
-						"default": "dfdl"
-					},
-					"program": {
-						"type": "string",
-						"description": "Absolute path to the DFDL schema file.",
-						"default": "${command:AskForProgramName}"
-					},
-					"data": {
-						"type": "string",
-						"description": "Absolute path to the input data file.",
-						"default": "${command:AskForDataName}"
-					},
-					"infosetOutputType": {
-						"type": "string",
-						"description": "Destination for final Infoset (file | 'console' | 'none')",
-						"enum": [
-							"file",
-							"console",
-							"none"
-						],
-						"default": "none"
-					},
-					"infosetOutputFilePath": {
-						"type": "string",
-						"description": "Path to output for Infoset file (req: infosetOutput=file)",
-						"default": "${workspaceFolder}/infoset.xml"
-					},
-					"stopOnEntry": {
-						"type": "boolean",
-						"description": "Automatically stop after launch.",
-						"default": true
-					},
-					"trace": {
-						"type": "boolean",
-						"description": "Enable logging of the Debug Adapter Protocol.",
-						"default": true
-					},
-					"useExistingServer": {
-						"type": "boolean",
-						"description": "Enable connection to running DAP Server",
-						"default": false
-					},
-					"debugServer": {
-						"type": "integer",
-						"description": "Port debug server running on",
-						"default": 4711
-					},
-					"openHexView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"openInfosetDiffView": {
-						"type": "boolean",
-						"description": "Open hexview on debug start",
-						"default": false
-					},
-					"daffodilDebugClasspath": {
-						"type": "string",
-						"description": "Additional classpaths to be exported to the debugger",
-						"default": ""
-					}
-				}
-			}
-		]
-	},
-	"__metadata": {
-		"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
-		"publisherDisplayName": "Apache Software Foundation",
-		"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
-		"isPreReleaseVersion": false
-	}
+  "name": "apache-daffodil-vscode",
+  "displayName": "Apache Daffodil™ Extension for Visual Studio Code",
+  "description": "Apache Daffodil™ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
+  "version": "1.3.0-SNAPSHOT",
+  "daffodilVersion": "3.4.0",
+  "publisher": "asf",
+  "author": "Apache Daffodil",
+  "license": "Apache-2.0",
+  "engines": {
+    "vscode": "^1.60.2"
+  },
+  "icon": "images/daffodil.ico",
+  "categories": [
+    "Debuggers",
+    "Programming Languages"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/daffodil-vscode.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/daffodil-vscode/issues"
+  },
+  "scripts": {
+    "gen-version-ts": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
+    "precompile": "yarn gen-version-ts",
+    "compile": "tsc -p ./ && yarn sbt",
+    "lint": "yarn prettier src -c",
+    "prewatch": "yarn gen-version-ts && yarn sbt",
+    "watch": "webpack --watch --devtool nosources-source-map --config ./build/extension.webpack.config.js",
+    "webpack": "webpack --mode production --config ./build/extension.webpack.config.js",
+    "prepackage": "yarn install && yarn compile && yarn webpack",
+    "package": "yarn package-setup && yarn package-create",
+    "package-setup": "node -e \"require('./build/scripts/package.ts').setup()\"",
+    "package-create": "node -e \"require('./build/scripts/package.ts').create()\"",
+    "pretest": "yarn compile && yarn webpack",
+    "test": "node ./out/tests/runTest.js",
+    "sbt": "sbt universal:packageBin"
+  },
+  "dependencies": {
+    "await-notify": "1.0.1",
+    "hexy": "0.3.4",
+    "omega-edit": "0.9.34",
+    "unzip-stream": "0.3.1",
+    "uuid": "^9.0.0",
+    "@vscode/debugadapter": "1.51.0",
+    "wait-port": "^0.3.0",
+    "xdg-app-paths": "8.2.0"
+  },
+  "devDependencies": {
+    "@types/glob": "^8.0.0",
+    "@types/mocha": "^9.1.1",
+    "@types/node": "^18.0.0",
+    "@types/vscode": "^1.60.2",
+    "@vscode/test-electron": "2.1.5",
+    "glob": "8.0.3",
+    "mocha": "10.0.0",
+    "prettier": "2.8.3",
+    "ts-loader": "8.1.0",
+    "typescript": "4.3.5",
+    "@vscode/vsce": "2.15.0",
+    "@vscode/debugadapter-testsupport": "1.51.0",
+    "webpack": "5.75.0",
+    "webpack-cli": "4.10.0"
+  },
+  "extensionDependencies": [
+    "vincaslt.highlight-matching-tag",
+    "wmanth.jar-viewer"
+  ],
+  "main": "./dist/ext/extension.js",
+  "activationEvents": [
+    "onLanguage:dfdl",
+    "onDebugResolve:dfdl",
+    "onDebugDynamicConfigurations:dfdl",
+    "onCommand:extension.dfdl-debug.getProgramName",
+    "onCommand:extension.dfdl-debug.getDataName",
+    "onCommand:extension.dfdl-debug.runEditorContents",
+    "onCommand:extension.dfdl-debug.debugEditorContents",
+    "onCommand:launch.config",
+    "onCommand:data.edit",
+    "onCommand:omega_edit.version",
+    "onCommand:toggle.experimental",
+    "onCommand:extension.dfdl-debug.debugLastEditorContents"
+  ],
+  "workspaceTrust": {
+    "request": "never"
+  },
+  "contributes": {
+    "languages": [
+      {
+        "id": "dfdl",
+        "aliases": [
+          "dfdl"
+        ],
+        "extensions": [
+          ".dfdl.xsd"
+        ],
+        "configuration": "./language/dfdl.json"
+      }
+    ],
+    "grammars": [
+      {
+        "language": "dfdl",
+        "scopeName": "text.xml.dfdl.xsd",
+        "path": "./language/syntaxes/dfdl.tmLanguage.json"
+      }
+    ],
+    "menus": {
+      "editor/title": [
+        {
+          "command": "launch.config",
+          "group": "navigation@1"
+        },
+        {
+          "command": "hexview.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@4"
+        },
+        {
+          "command": "infoset.display",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@2"
+        },
+        {
+          "command": "infoset.diff",
+          "when": "resourceLangId == dfdl",
+          "group": "navigation@3"
+        }
+      ],
+      "editor/title/run": [
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "commandPalette": [
+        {
+          "command": "extension.dfdl-debug.debugEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "extension.dfdl-debug.runEditorContents",
+          "when": "resourceLangId == dfdl"
+        },
+        {
+          "command": "data.edit",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "omega_edit.version",
+          "enablement": "experimentalFeaturesEnabled"
+        },
+        {
+          "command": "toggle.experimental"
+        },
+        {
+          "command": "extension.dfdl-debug.debugLastEditorContents",
+          "when": "resourceLangId == dfdl"
+        }
+      ],
+      "debug/variables/context": [
+        {
+          "command": "extension.dfdl-debug.toggleFormatting",
+          "when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
+        }
+      ]
+    },
+    "commands": [
+      {
+        "command": "extension.dfdl-debug.debugEditorContents",
+        "title": "Debug File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.runEditorContents",
+        "title": "Run File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(play)"
+      },
+      {
+        "command": "extension.dfdl-debug.debugLastEditorContents",
+        "title": "Debug Last File",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-alt)"
+      },
+      {
+        "command": "extension.dfdl-debug.toggleFormatting",
+        "title": "Toggle between decimal and hex formatting",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "hexview.display",
+        "title": "Display the hex view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-binary)"
+      },
+      {
+        "command": "infoset.display",
+        "title": "Display the infoset view",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(file-code)"
+      },
+      {
+        "command": "infoset.diff",
+        "title": "View infoset diff",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode",
+        "icon": "$(diff)"
+      },
+      {
+        "command": "infoset.save",
+        "title": "Save the current infoset",
+        "category": "Daffodil Debug",
+        "enablement": "inDebugMode"
+      },
+      {
+        "command": "launch.config",
+        "title": "Configure launch.json",
+        "category": "Daffodil Debug",
+        "enablement": "!inDebugMode",
+        "icon": "$(debug-configure)"
+      },
+      {
+        "command": "toggle.experimental",
+        "title": "Enable Experimental Features",
+        "category": "Daffodil Debug"
+      },
+      {
+        "command": "omega_edit.version",
+        "title": "Omega Edit Ω Version Info",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "data.edit",
+        "title": "Data Editor",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      },
+      {
+        "command": "position.goto",
+        "title": "Go to position",
+        "category": "OmegaEdit",
+        "enablement": "experimentalFeaturesEnabled"
+      }
+    ],
+    "keybindings": [
+      {
+        "command": "position.goto",
+        "key": "ctrl+alt+g",
+        "mac": "ctrl+cmd+g",
+        "when": "editorTextFocus"
+      }
+    ],
+    "breakpoints": [
+      {
+        "language": "dfdl"
+      }
+    ],
+    "debuggers": [
+      {
+        "type": "dfdl",
+        "languages": [
+          "dfdl"
+        ],
+        "label": "Daffodil Debug",
+        "program": "./out/extension.js",
+        "runtime": "node",
+        "configurationAttributes": {
+          "launch": {
+            "required": [
+              "program",
+              "data"
+            ],
+            "properties": {
+              "program": {
+                "type": "string",
+                "description": "Absolute path to the DFDL schema file.",
+                "default": "${command:AskForProgramName}"
+              },
+              "data": {
+                "type": "string",
+                "description": "Absolute path to the input data file.",
+                "default": "${command:AskForDataName}"
+              },
+              "infosetFormat": {
+                "type": "string",
+                "description": "Infoset format type (xml/json)",
+                "default": "xml"
+              },
+              "infosetOutput": {
+                "type": "object",
+                "description": "Destination for final Infoset (file-path | 'console' | 'none')",
+                "default": {
+                  "type": "console",
+                  "path": "${workspaceFolder}/infoset.xml"
+                }
+              },
+              "stopOnEntry": {
+                "type": "boolean",
+                "description": "Automatically stop after launch.",
+                "default": true
+              },
+              "trace": {
+                "type": "boolean",
+                "description": "Enable logging of the Debug Adapter Protocol.",
+                "default": true
+              },
+              "debugServer": {
+                "type": "integer",
+                "description": "Port debug server running on",
+                "default": 4711
+              },
+              "useExistingServer": {
+                "type": "boolean",
+                "description": "Enable connection to running DAP Server",
+                "default": false
+              },
+              "openHexView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "openInfosetDiffView": {
+                "type": "boolean",
+                "description": "Open hexview on debug start",
+                "default": false
+              },
+              "daffodilDebugClasspath": {
+                "type": "string",
+                "description": "Additional classpaths to be exported to the debugger",
+                "default": ""
+              },
+              "variables": {
+                "type": "object",
+                "additionalProperties": {
+                  "type": "string"
+                }
+              },
+              "tunables": {

Review Comment:
   > Alternative idea just don't validate the list of tunables and just let it be a key/value pair just like the variable property. Daffodil will throw an exception if you try to set a tunable that doesn't exist, so you can catch it that point and let the user know it's invalid (the same should happen for variables I believe?).
   
   That's what I was going to suggest also as a compromise, excellent idea!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org