{ "name": "wrnexus", "displayName": "WRNexus Language Support", "description": "Complete WRNexus v0.8.3 language support for typed imports, props, state, outputs, runtime functions, stores, diagnostics, formatting, navigation, and migration assistance.", "version": "0.8.8", "publisher": "wrnexus", "private": true, "license": "SEE LICENSE IN LICENSE", "icon": "icons/wrn.png", "repository": { "type": "git", "url": "https://git.workroot.in/WorkRoot/WRNexusJS.git", "directory": "editors/vscode" }, "bugs": { "url": "https://git.workroot.in/WorkRoot/WRNexusJS/issues" }, "homepage": "https://wrnexusjs.dev", "qna": "https://git.workroot.in/WorkRoot/WRNexusJS/issues", "galleryBanner": { "color": "#0b1021", "theme": "dark" }, "pricing": "Free", "engines": { "vscode": "^1.75.0" }, "categories": [ "Programming Languages", "Snippets", "Linters", "Formatters" ], "keywords": [ "wrnexus", "wrn", "wrn", "wrnexus", "language support", "formatter", "diagnostics", "syntax highlighting", "autocomplete", "snippets", "lifecycle", "state watcher", "components", "full-stack", "ssr", "csr", "bun" ], "main": "./src/extension.bundle.cjs", "activationEvents": [ "onLanguage:wrn" ], "contributes": { "languages": [ { "id": "wrn", "aliases": [ "WRNexus", "WRN", "wrn" ], "extensions": [ ".wrn" ], "firstLine": "^\\s*(?:(?:import\\b[^;\\n]*(?:;|\\n)\\s*)*)(?:(?:global|page)\\s+store|page|component|layout)\\s+[A-Za-z_$][A-Za-z0-9_$]*\\s*\\{", "configuration": "./language-configuration.json", "icon": { "light": "./icons/wrn.png", "dark": "./icons/wrn.png" } } ], "grammars": [ { "language": "wrn", "scopeName": "source.wrn", "path": "./syntaxes/wrn.tmLanguage.json", "embeddedLanguages": { "meta.embedded.block.html": "html", "meta.embedded.block.css": "css", "meta.embedded.block.ts": "typescript", "meta.embedded.expr.wrn": "typescript" } }, { "scopeName": "wrn.attributes.injection", "path": "./syntaxes/wrn.injection.tmLanguage.json", "injectTo": [ "source.wrn" ] } ], "snippets": [ { "language": "wrn", "path": "./snippets/wrn.json" } ], "configuration": { "title": "WRNexus", "properties": { "wrnexus.diagnostics.enable": { "type": "boolean", "default": true, "scope": "resource", "description": "Enable WRNexus editor and compiler diagnostics for .wrn files." }, "wrnexus.languageServer.enable": { "type": "boolean", "default": true, "scope": "window", "description": "Use the shared WRNexus Language Server for diagnostics, formatting, completion, navigation, rename, and quick fixes." }, "wrnexus.format.enable": { "type": "boolean", "default": true, "scope": "resource", "description": "Enable the built-in WRNexus formatter for .wrn files." }, "wrnexus.formatting.multilineAttributes": { "type": "boolean", "default": true, "scope": "resource", "description": "Place opening-tag attributes on separate lines, with the closing delimiter on its own line." }, "wrnexus.formatting.printWidth": { "type": "number", "default": 100, "minimum": 60, "maximum": 240, "scope": "resource", "description": "Preferred WRNexus formatter line width before long tags are expanded." } } }, "configurationDefaults": { "files.associations": { "*.wrn": "wrn" }, "[wrn]": { "editor.defaultFormatter": "wrnexus.wrnexus", "editor.formatOnSave": false, "editor.tabSize": 4, "editor.insertSpaces": true, "editor.autoClosingBrackets": "always", "editor.autoClosingQuotes": "always", "editor.suggest.showSnippets": true, "editor.snippetSuggestions": "top" }, "editor.tokenColorCustomizations": { "textMateRules": [ { "scope": "storage.type.wrn", "settings": { "foreground": "#c084fc", "fontStyle": "bold" } }, { "scope": "entity.name.type.wrn", "settings": { "foreground": "#67e8f9" } }, { "scope": "entity.name.function.wrn", "settings": { "foreground": "#a7f3d0" } }, { "scope": "entity.name.function.lifecycle.wrn", "settings": { "foreground": "#fbbf24", "fontStyle": "bold" } }, { "scope": "variable.other.readwrite.wrn", "settings": { "foreground": "#93c5fd" } }, { "scope": "variable.language.wrn", "settings": { "foreground": "#f0abfc", "fontStyle": "italic" } }, { "scope": "entity.other.attribute-name.wrn.directive", "settings": { "foreground": "#5eead4", "fontStyle": "bold" } }, { "scope": "entity.other.attribute-name.wrn.event", "settings": { "foreground": "#f472b6", "fontStyle": "bold" } }, { "scope": "entity.other.attribute-name.event.wrn", "settings": { "foreground": "#f472b6", "fontStyle": "bold" } }, { "scope": "punctuation.definition.keyword.wrn", "settings": { "foreground": "#f472b6" } }, { "scope": "keyword.control.i18n.wrn", "settings": { "foreground": "#f472b6", "fontStyle": "bold" } }, { "scope": "string.other.i18n-key.wrn", "settings": { "foreground": "#5eead4" } }, { "scope": "constant.language.http-method.wrn", "settings": { "foreground": "#f472b6", "fontStyle": "bold" } } ] } }, "semanticTokenScopes": [ { "language": "wrn", "scopes": { "variable.declaration": [ "variable.other.readwrite.wrn", "variable.other.readwrite.declaration.wrn" ], "variable": [ "variable.other.readwrite.wrn" ], "parameter": [ "variable.parameter.wrn" ], "function": [ "entity.name.function.wrn" ], "property": [ "variable.other.property.wrn" ] } } ] }, "scripts": { "build:compiler": "node ../../scripts/build-editor-compiler.mjs", "build:language-server": "node ../../scripts/build-editor-language-server.mjs", "build:extension": "node ../../scripts/build-editor-extension.mjs", "build": "bun run build:compiler && bun run build:language-server && bun run build:extension", "test": "node --test test/*.test.js", "validate": "node test/validate.mjs && node ../../scripts/build-editor-compiler.mjs --check && node ../../scripts/build-editor-language-server.mjs --check && node ../../scripts/build-editor-extension.mjs --check", "check": "bun run build && bun run test && bun run validate", "vscode:prepublish": "bun run check", "package": "vsce package --no-dependencies --no-rewrite-relative-links", "publish": "vsce publish --no-dependencies --no-rewrite-relative-links", "publish:azure": "vsce publish --no-dependencies --no-rewrite-relative-links --azure-credential" }, "devDependencies": { "@vscode/vsce": "^3.9.2" }, "dependencies": { "vscode-languageclient": "^10.1.0" } }