{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Modula-2 project", "description": "Project description consumed by the Modula-2 IDE (build, run, tasks, wizards).", "type": "object", "required": ["name", "main"], "properties": { "name": { "type": "string", "minLength": 1, "description": "Project name. Defaults the built executable to bin/." }, "main": { "type": "string", "minLength": 1, "description": "Main file relative to the project root, e.g. \"src/Main.mod\"." }, "output": { "type": "string", "description": "Built executable relative to the root. Defaults to bin/." }, "compiler": { "type": "object", "description": "Compiler selection. Only GNU Modula-2 (gm2) is currently implemented.", "properties": { "type": { "type": "string", "enum": ["gnu-modula2"], "description": "Compiler family." }, "path": { "type": "string", "description": "Compiler executable. Defaults to \"gm2\" (or the modula2.compiler.path preference)." }, "options": { "type": "array", "items": { "type": "string" }, "description": "Extra compiler options appended to the build command." } }, "additionalProperties": false }, "sourceDirectories": { "type": "array", "items": { "type": "string" }, "description": "Source folders searched by the New Module wizard. Defaults to [\"src\"]." }, "definitionDirectories": { "type": "array", "items": { "type": "string" }, "description": "Reserved: definition-module folders for future project indexing." }, "libraryDirectories": { "type": "array", "items": { "type": "string" }, "description": "Reserved: library folders for future project indexing." } }, "additionalProperties": false }