pascal-schema.json 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "title": "Pascal project",
  4. "description": "Project description consumed by the Pascal 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.pas\"."
  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: Free Pascal (fpc) or Blaise.",
  25. "properties": {
  26. "type": {
  27. "type": "string",
  28. "enum": ["fpc", "blaise"],
  29. "description": "Compiler family."
  30. },
  31. "path": {
  32. "type": "string",
  33. "description": "Compiler executable. Defaults to \"fpc\" (or \"blaise\" for that family, or the pascal.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 Unit wizard. Defaults to [\"src\"]."
  47. },
  48. "libraryDirectories": {
  49. "type": "array",
  50. "items": { "type": "string" },
  51. "description": "Third-party library folders searched by language services after the source folders."
  52. }
  53. },
  54. "additionalProperties": false
  55. }