217 lines
6.6 KiB
JSON
217 lines
6.6 KiB
JSON
{
|
|
"name": "viper",
|
|
"displayName": "Viper",
|
|
"description": "Project management and toolchain for Viper language",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"license": "MIT",
|
|
"publisher": "terminexus",
|
|
"engines": {
|
|
"vscode": "^1.101.0"
|
|
},
|
|
"categories": [
|
|
"Programming Languages"
|
|
],
|
|
"keywords": [
|
|
"viper"
|
|
],
|
|
"activationEvents": [
|
|
"onLanguage:viper",
|
|
"workspaceContains:**/*.vpj",
|
|
"workspaceContains:**/*.vp"
|
|
],
|
|
"icon": "images/viper-icon.png",
|
|
"main": "./dist/extension.js",
|
|
"contributes": {
|
|
"languages": [
|
|
{
|
|
"id": "viper-project",
|
|
"aliases": [
|
|
"Viper Project"
|
|
],
|
|
"extensions": [
|
|
".vpj"
|
|
],
|
|
"icon": {
|
|
"light": "images/vpj-icon.svg",
|
|
"dark": "images/vpj-icon.svg"
|
|
}
|
|
}
|
|
],
|
|
"grammars": [
|
|
{
|
|
"language": "viper-project",
|
|
"scopeName": "source.json.vpj",
|
|
"path": "./syntaxes/vpj.tmLanguage.json"
|
|
}
|
|
],
|
|
"customEditors": [
|
|
{
|
|
"viewType": "viper.vpjEditor",
|
|
"displayName": "Viper Project Editor",
|
|
"selector": [
|
|
{
|
|
"filenamePattern": "*.vpj"
|
|
}
|
|
],
|
|
"priority": "default"
|
|
}
|
|
],
|
|
"configurationDefaults": {
|
|
"files.associations": {
|
|
"*.vpj": "viper-project"
|
|
}
|
|
},
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "viper-explorer",
|
|
"title": "Viper",
|
|
"icon": "images/viper-icon.svg"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"viper-explorer": [
|
|
{
|
|
"id": "viper.projectView",
|
|
"name": "Project"
|
|
},
|
|
{
|
|
"id": "viper.toolchainView",
|
|
"name": "Toolchain"
|
|
},
|
|
{
|
|
"id": "viper.settingsView",
|
|
"name": "Settings"
|
|
}
|
|
]
|
|
},
|
|
"viewsWelcome": [
|
|
{
|
|
"view": "viper.projectView",
|
|
"contents": "No Viper project found in this workspace.\n[Create Project](command:viper.createProject)\n[Open Folder](command:workbench.action.files.openFolder)"
|
|
},
|
|
{
|
|
"view": "viper.toolchainView",
|
|
"contents": "No Viper toolchain detected.\n[Configure Toolchain](command:viper.selectToolchain)"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "viper.createProject",
|
|
"title": "Create Project",
|
|
"category": "Viper"
|
|
},
|
|
{
|
|
"command": "viper.selectToolchain",
|
|
"title": "Select Toolchain",
|
|
"category": "Viper"
|
|
},
|
|
{
|
|
"command": "viper.showProjectInfo",
|
|
"title": "Show Project Info",
|
|
"category": "Viper"
|
|
},
|
|
{
|
|
"command": "viper.openSettings",
|
|
"title": "Open Settings",
|
|
"category": "Viper"
|
|
},
|
|
{
|
|
"command": "viper.refreshView",
|
|
"title": "Refresh",
|
|
"category": "Viper",
|
|
"icon": "$(refresh)"
|
|
},
|
|
{
|
|
"command": "viper.openVpjAsJson",
|
|
"title": "Open .vpj as JSON",
|
|
"category": "Viper"
|
|
}
|
|
],
|
|
"menus": {
|
|
"commandPalette": [
|
|
{
|
|
"command": "viper.openVpjAsJson",
|
|
"when": "resourceExtname == .vpj"
|
|
}
|
|
],
|
|
"editor/title/context": [
|
|
{
|
|
"command": "viper.openVpjAsJson",
|
|
"when": "resourceExtname == .vpj",
|
|
"group": "1_open"
|
|
}
|
|
],
|
|
"explorer/context": [
|
|
{
|
|
"command": "viper.openVpjAsJson",
|
|
"when": "resourceExtname == .vpj",
|
|
"group": "1_open"
|
|
}
|
|
],
|
|
"view/title": [
|
|
{
|
|
"command": "viper.refreshView",
|
|
"when": "view == viper.projectView || view == viper.toolchainView || view == viper.settingsView",
|
|
"group": "navigation"
|
|
}
|
|
]
|
|
},
|
|
"configuration": {
|
|
"title": "Viper",
|
|
"properties": {
|
|
"viper.toolchain.path": {
|
|
"type": "string",
|
|
"default": "C:\\v.exe",
|
|
"description": "Path to Viper compiler executable.",
|
|
"scope": "resource"
|
|
},
|
|
"viper.toolchain.version": {
|
|
"type": "string",
|
|
"default": "1.0.0",
|
|
"description": "Viper compiler version string.",
|
|
"scope": "resource",
|
|
"readOnly": true
|
|
},
|
|
"viper.build.parallel": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Enable parallel compilation.",
|
|
"scope": "resource"
|
|
},
|
|
"viper.build.onSave": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Trigger build on file save.",
|
|
"scope": "resource"
|
|
},
|
|
"viper.analysis.dialect": {
|
|
"type": "string",
|
|
"enum": [
|
|
"python",
|
|
"viper"
|
|
],
|
|
"default": "viper",
|
|
"description": "Language dialect for analysis.",
|
|
"scope": "resource"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"scripts": {
|
|
"clean": "shx rm -rf ./dist ./out",
|
|
"compile": "tsc -p ./tsconfig.json",
|
|
"watch": "tsc -p ./tsconfig.json --watch",
|
|
"package": "vsce package"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^25.9.2",
|
|
"@types/vscode": "^1.101.0",
|
|
"@vscode/vsce": "^3.9.2",
|
|
"shx": "^0.4.0",
|
|
"typescript": "~6.0.3"
|
|
}
|
|
}
|