modula2-schema.json 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "title": "Modula-2 project",
  4. "description": "Project description consumed by the Modula-2 IDE (build, run, tasks, wizards).",
  5. "type": "object",
  6. "required": ["name", "main"],
  7. "properties": {
  8. "name": {
  9. "type": "string",
  10. "minLength": 1,
  11. "description": "Project name. Defaults the built executable to bin/<name>."
  12. },
  13. "main": {
  14. "type": "string",
  15. "minLength": 1,
  16. "description": "Main file relative to the project root, e.g. \"src/Main.mod\"."
  17. },
  18. "output": {
  19. "type": "string",
  20. "description": "Built executable relative to the root. Defaults to bin/<name>."
  21. },
  22. "compiler": {
  23. "type": "object",
  24. "description": "Compiler selection. Only GNU Modula-2 (gm2) is currently implemented.",
  25. "properties": {
  26. "type": {
  27. "type": "string",
  28. "enum": ["gnu-modula2"],
  29. "description": "Compiler family."
  30. },
  31. "path": {
  32. "type": "string",
  33. "description": "Compiler executable. Defaults to \"gm2\" (or the modula2.compiler.path preference)."
  34. },
  35. "options": {
  36. "type": "array",
  37. "items": { "type": "string" },
  38. "description": "Extra compiler options appended to the build command."
  39. }
  40. },
  41. "additionalProperties": false
  42. },
  43. "sourceDirectories": {
  44. "type": "array",
  45. "items": { "type": "string" },
  46. "description": "Source folders searched by the New Module wizard. Defaults to [\"src\"]."
  47. },
  48. "definitionDirectories": {
  49. "type": "array",
  50. "items": { "type": "string" },
  51. "description": "Definition-module folders searched by language services (go-to-definition, hover, completion) after the importing file's own directory."
  52. },
  53. "libraryDirectories": {
  54. "type": "array",
  55. "items": { "type": "string" },
  56. "description": "Third-party library folders searched by language services after the source folders."
  57. }
  58. },
  59. "additionalProperties": false
  60. }