| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- {
- "name": "oberon-language",
- "displayName": "Oberon Language Support",
- "version": "0.1.6",
- "publisher": "modula2",
- "license": "MIT",
- "engines": {
- "vscode": "^1.90.0"
- },
- "categories": [
- "Programming Languages"
- ],
- "activationEvents": [
- "onLanguage:oberon"
- ],
- "main": "./out/extension.js",
- "contributes": {
- "languages": [
- {
- "id": "oberon",
- "aliases": [
- "Oberon",
- "oberon"
- ],
- "extensions": [
- ".Mod",
- ".mod",
- ".def",
- ".om",
- ".od"
- ],
- "configuration": "./language-configuration.json"
- }
- ],
- "configuration": {
- "title": "Oberon",
- "properties": {
- "modula2.oberon.uppercaseKeywords": {
- "type": "boolean",
- "default": true,
- "description": "Uppercase an Oberon keyword when the completed token is followed by a non-identifier character."
- },
- "modula2.oberon.format.indentSize": {
- "type": "number",
- "default": 2,
- "description": "Indentation width applied by the Oberon formatter."
- },
- "modula2.oberon.format.useTabs": {
- "type": "boolean",
- "default": false,
- "description": "Indent with tabs instead of spaces."
- },
- "modula2.oberon.format.keywordCase": {
- "type": "string",
- "enum": [
- "upper",
- "preserve"
- ],
- "default": "upper",
- "description": "Keyword case applied by the formatter. Reserved words written lowercase are uppercased; identifiers that merely look like keywords are left alone."
- },
- "modula2.oberon.format.spaceAroundOperators": {
- "type": "boolean",
- "default": true,
- "description": "Spaces around operators (:=, +, -, ...)."
- },
- "modula2.oberon.format.spaceAfterComma": {
- "type": "boolean",
- "default": true,
- "description": "Space after commas."
- },
- "modula2.oberon.format.spaceBeforeColon": {
- "type": "boolean",
- "default": false,
- "description": "Space before colons in declarations."
- },
- "modula2.oberon.format.spaceAroundRange": {
- "type": "boolean",
- "default": true,
- "description": "Spaces around the .. range operator."
- },
- "modula2.oberon.format.emptyLineLimit": {
- "type": "number",
- "default": 1,
- "description": "Maximum consecutive blank lines kept."
- },
- "modula2.oberon.format.trimTrailingWhitespace": {
- "type": "boolean",
- "default": true,
- "description": "Remove trailing whitespace."
- },
- "modula2.oberon.format.insertFinalNewline": {
- "type": "boolean",
- "default": true,
- "description": "End the file with a newline."
- },
- "modula2.oberon.dialect": {
- "type": "string",
- "enum": [
- "oberon07",
- "oberon2",
- "ulm"
- ],
- "default": "oberon2",
- "description": "Oberon dialect used to validate Oberon files. Builds: grammars/Oberon07/build/O07, Oberon2/build/O2, Ulm/build/Ulm."
- },
- "modula2.oberon.validators": {
- "type": "object",
- "default": {},
- "description": "Validator command per Oberon dialect, e.g. {\"oberon2\": \"/path/to/O2\"}. Each command receives the temporary source file as its single argument."
- }
- }
- },
- "grammars": [
- {
- "language": "oberon",
- "scopeName": "source.oberon",
- "path": "./syntaxes/oberon.tmLanguage.json"
- }
- ],
- "snippets": [
- {
- "language": "oberon",
- "path": "./snippets/oberon.json"
- }
- ],
- "jsonValidation": [
- {
- "fileMatch": "oberon.json",
- "url": "./oberon-schema.json"
- }
- ]
- },
- "scripts": {
- "clean": "rimraf out",
- "build": "tsc -p tsconfig.json",
- "prepare": "yarn build",
- "watch": "tsc -p tsconfig.json --watch"
- },
- "devDependencies": {
- "@types/node": "^24.0.0",
- "@types/vscode": "^1.90.0",
- "rimraf": "^6.0.1",
- "typescript": "^5.9.2"
- },
- "dependencies": {
- "vscode-languageclient": "^9.0.1",
- "vscode-languageserver": "^9.0.1",
- "vscode-languageserver-textdocument": "^1.0.11"
- },
- "description": "Oberon language support with Coco/R dialect validators (Oberon-07, Oberon-2, Ulm-Oberon)."
- }
|