{ "$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": "Definition-module folders searched by language services (go-to-definition, hover, completion) after the importing file's own directory." }, "libraryDirectories": { "type": "array", "items": { "type": "string" }, "description": "Third-party library folders searched by language services after the source folders." } }, "additionalProperties": false }