package.json 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. {
  2. "name": "pascal-language",
  3. "displayName": "Pascal Language Support",
  4. "version": "0.1.6",
  5. "publisher": "modula2",
  6. "license": "MIT",
  7. "engines": {
  8. "vscode": "^1.90.0"
  9. },
  10. "categories": [
  11. "Programming Languages"
  12. ],
  13. "activationEvents": [
  14. "onLanguage:pascal"
  15. ],
  16. "main": "./out/extension.js",
  17. "contributes": {
  18. "languages": [
  19. {
  20. "id": "pascal",
  21. "aliases": [
  22. "Pascal",
  23. "pascal"
  24. ],
  25. "extensions": [
  26. ".pas",
  27. ".pp",
  28. ".p"
  29. ],
  30. "configuration": "./language-configuration.json"
  31. }
  32. ],
  33. "configuration": {
  34. "title": "Pascal",
  35. "properties": {
  36. "modula2.pascal.uppercaseKeywords": {
  37. "type": "boolean",
  38. "default": true,
  39. "description": "Uppercase a Pascal keyword when the completed token is followed by a non-identifier character."
  40. },
  41. "modula2.pascal.format.indentSize": {
  42. "type": "number",
  43. "default": 2,
  44. "description": "Indentation width applied by the Pascal formatter."
  45. },
  46. "modula2.pascal.format.useTabs": {
  47. "type": "boolean",
  48. "default": false,
  49. "description": "Indent with tabs instead of spaces."
  50. },
  51. "modula2.pascal.format.keywordCase": {
  52. "type": "string",
  53. "enum": [
  54. "upper",
  55. "preserve"
  56. ],
  57. "default": "upper",
  58. "description": "Keyword case applied by the formatter. Reserved words written lowercase are uppercased; identifiers that merely look like keywords are left alone."
  59. },
  60. "modula2.pascal.format.spaceAroundOperators": {
  61. "type": "boolean",
  62. "default": true,
  63. "description": "Spaces around operators (:=, +, -, ...)."
  64. },
  65. "modula2.pascal.format.spaceAfterComma": {
  66. "type": "boolean",
  67. "default": true,
  68. "description": "Space after commas."
  69. },
  70. "modula2.pascal.format.spaceBeforeColon": {
  71. "type": "boolean",
  72. "default": false,
  73. "description": "Space before colons in declarations."
  74. },
  75. "modula2.pascal.format.spaceAroundRange": {
  76. "type": "boolean",
  77. "default": true,
  78. "description": "Spaces around the .. range operator."
  79. },
  80. "modula2.pascal.format.emptyLineLimit": {
  81. "type": "number",
  82. "default": 1,
  83. "description": "Maximum consecutive blank lines kept."
  84. },
  85. "modula2.pascal.format.trimTrailingWhitespace": {
  86. "type": "boolean",
  87. "default": true,
  88. "description": "Remove trailing whitespace."
  89. },
  90. "modula2.pascal.format.insertFinalNewline": {
  91. "type": "boolean",
  92. "default": true,
  93. "description": "End the file with a newline."
  94. },
  95. "modula2.pascal.dialect": {
  96. "type": "string",
  97. "enum": [
  98. "p2",
  99. "p4",
  100. "p6",
  101. "pascal",
  102. "turbopascal3",
  103. "freepascal",
  104. "blaise",
  105. "pascals"
  106. ],
  107. "default": "freepascal",
  108. "description": "Pascal dialect used to validate .pas files. Builds: grammars/P2/build/P2, P4/build/P4, P6/build/P6, Pascal/build/PStd, TurboPascal3/build/TP3, FreePascal/build/FPC, Blaise/build/BlaiseV, PascalS/build/PascalS."
  109. },
  110. "modula2.pascal.validators": {
  111. "type": "object",
  112. "default": {},
  113. "description": "Validator command per Pascal dialect, e.g. {\"freepascal\": \"/path/to/FPC\"}. Each command receives the temporary source file as its single argument. Never point these at pcom/psc oracle compilers (they can hang)."
  114. }
  115. }
  116. },
  117. "grammars": [
  118. {
  119. "language": "pascal",
  120. "scopeName": "source.pascal",
  121. "path": "./syntaxes/pascal.tmLanguage.json"
  122. }
  123. ],
  124. "snippets": [
  125. {
  126. "language": "pascal",
  127. "path": "./snippets/pascal.json"
  128. }
  129. ],
  130. "jsonValidation": [
  131. {
  132. "fileMatch": "pascal.json",
  133. "url": "./pascal-schema.json"
  134. }
  135. ]
  136. },
  137. "scripts": {
  138. "clean": "rimraf out",
  139. "build": "tsc -p tsconfig.json",
  140. "prepare": "yarn build",
  141. "watch": "tsc -p tsconfig.json --watch"
  142. },
  143. "devDependencies": {
  144. "@types/node": "^24.0.0",
  145. "@types/vscode": "^1.90.0",
  146. "rimraf": "^6.0.1",
  147. "typescript": "^5.9.2"
  148. },
  149. "dependencies": {
  150. "vscode-languageclient": "^9.0.1",
  151. "vscode-languageserver": "^9.0.1",
  152. "vscode-languageserver-textdocument": "^1.0.11"
  153. },
  154. "description": "Pascal language support with Coco/R dialect validators (P2, P4, P6, Pascal, Turbo Pascal 3, Free Pascal, Blaise, Pascal-S)."
  155. }