package.json 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. {
  2. "name": "modula2-language",
  3. "displayName": "GNU Modula-2 Language Support",
  4. "version": "0.1.5",
  5. "publisher": "modula2",
  6. "license": "MIT",
  7. "engines": {
  8. "vscode": "^1.90.0"
  9. },
  10. "categories": [
  11. "Programming Languages"
  12. ],
  13. "activationEvents": [
  14. "onLanguage:modula2",
  15. "onLanguage:modula2-definition"
  16. ],
  17. "main": "./out/extension.js",
  18. "contributes": {
  19. "languages": [
  20. {
  21. "id": "modula2",
  22. "aliases": [
  23. "Modula-2",
  24. "modula2"
  25. ],
  26. "extensions": [
  27. ".mod"
  28. ],
  29. "configuration": "./language-configuration.json"
  30. },
  31. {
  32. "id": "modula2-definition",
  33. "aliases": [
  34. "Modula-2 Definition",
  35. "modula2-definition"
  36. ],
  37. "extensions": [
  38. ".def"
  39. ],
  40. "configuration": "./language-configuration.json"
  41. }
  42. ],
  43. "grammars": [
  44. {
  45. "language": "modula2",
  46. "scopeName": "source.modula2",
  47. "path": "./syntaxes/modula2.tmLanguage.json"
  48. },
  49. {
  50. "language": "modula2-definition",
  51. "scopeName": "source.modula2.definition",
  52. "path": "./syntaxes/modula2-definition.tmLanguage.json"
  53. }
  54. ],
  55. "jsonValidation": [
  56. {
  57. "fileMatch": "modula2.json",
  58. "url": "./modula2-schema.json"
  59. }
  60. ],
  61. "snippets": [
  62. {
  63. "language": "modula2",
  64. "path": "./snippets/modula2.json"
  65. },
  66. {
  67. "language": "modula2-definition",
  68. "path": "./snippets/modula2-definition.json"
  69. }
  70. ],
  71. "configuration": {
  72. "title": "Modula-2",
  73. "properties": {
  74. "modula2.uppercaseKeywords": {
  75. "type": "boolean",
  76. "default": true,
  77. "description": "Uppercase a Modula-2 keyword when the completed token is followed by a non-identifier character."
  78. },
  79. "modula2.format.indentSize": {
  80. "type": "number",
  81. "default": 2,
  82. "minimum": 0,
  83. "maximum": 8,
  84. "description": "Indentation width in spaces for formatted Modula-2 code (ignored when modula2.format.useTabs is on)."
  85. },
  86. "modula2.format.useTabs": {
  87. "type": "boolean",
  88. "default": false,
  89. "description": "Indent formatted Modula-2 code with tabs instead of spaces."
  90. },
  91. "modula2.format.keywordCase": {
  92. "type": "string",
  93. "enum": [
  94. "upper",
  95. "preserve"
  96. ],
  97. "default": "upper",
  98. "description": "Keyword case applied by the formatter. Reserved words written lowercase are uppercased; identifiers that merely look like keywords (e.g. a variable named mod) are left alone."
  99. },
  100. "modula2.format.spaceAroundOperators": {
  101. "type": "boolean",
  102. "default": true,
  103. "description": "Enforce single spaces around operators (:=, =, +, -, *, /, comparisons). Off produces compact code (a+b)."
  104. },
  105. "modula2.format.spaceAfterComma": {
  106. "type": "boolean",
  107. "default": true,
  108. "description": "Enforce a space after each comma. Off produces compact code (a,b)."
  109. },
  110. "modula2.format.spaceBeforeColon": {
  111. "type": "boolean",
  112. "default": false,
  113. "description": "Put a space before the colon in declarations (x : INTEGER instead of x: INTEGER)."
  114. },
  115. "modula2.format.spaceAroundRange": {
  116. "type": "boolean",
  117. "default": true,
  118. "description": "Enforce spaces around .. in ranges ([0 .. 9]). Off produces compact ranges ([0..9])."
  119. },
  120. "modula2.format.emptyLineLimit": {
  121. "type": "number",
  122. "default": 1,
  123. "minimum": 0,
  124. "maximum": 10,
  125. "description": "Maximum consecutive blank lines kept by the formatter."
  126. },
  127. "modula2.format.trimTrailingWhitespace": {
  128. "type": "boolean",
  129. "default": true,
  130. "description": "Remove trailing whitespace on formatted lines."
  131. },
  132. "modula2.format.insertFinalNewline": {
  133. "type": "boolean",
  134. "default": true,
  135. "description": "End formatted files with exactly one newline."
  136. },
  137. "modula2.cocoR.validatorCommand": {
  138. "type": "string",
  139. "default": "/home/eric/Projets/Projets-Modula2/MyWork/Theia/GNU-grammar/bin/GM2",
  140. "description": "Executable that validates a Modula-2 source file using the generated Coco/R parser. Leave empty to disable Coco/R diagnostics."
  141. },
  142. "modula2.cocoR.validatorArguments": {
  143. "type": "array",
  144. "items": {
  145. "type": "string"
  146. },
  147. "default": [
  148. "{file}"
  149. ],
  150. "description": "Arguments passed to the Coco/R validator. Use {file} for the temporary source file."
  151. }
  152. }
  153. }
  154. },
  155. "scripts": {
  156. "clean": "rimraf out",
  157. "build": "tsc -p tsconfig.json",
  158. "prepare": "yarn build",
  159. "watch": "tsc -p tsconfig.json --watch"
  160. },
  161. "devDependencies": {
  162. "@types/node": "^24.0.0",
  163. "@types/vscode": "^1.90.0",
  164. "rimraf": "^6.0.1",
  165. "typescript": "^5.9.2"
  166. },
  167. "dependencies": {
  168. "vscode-languageclient": "^9.0.1",
  169. "vscode-languageserver": "^9.0.1",
  170. "vscode-languageserver-textdocument": "^1.0.11"
  171. }
  172. }