Files
WRNexusJS/editors/vscode/package.json
T

298 lines
8.5 KiB
JSON

{
"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."
},
"wrnexus.html.autoClosingTags": {
"type": "boolean",
"default": true,
"description": "Automatically close HTML tags inside .wrn view blocks."
}
}
},
"configurationDefaults": {
"files.associations": {
"*.wrn": "wrn"
},
"emmet.includeLanguages": {
"wrn": "html"
},
"[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",
"vscode-html-languageservice": "^5.6.2"
}
}