{
"name": "simplicityhl",
"displayName": "SimplicityHL Language Support",
"description": "Syntax highlighting and autocompletion for SimplicityHL (Simfony) language",
"version": "0.3.1",
"publisher": "Blockstream",
"repository": {
"type": "git",
"url": "https://github.com/BlockstreamResearch/SimplicityHL"
},
"engines": {
"vscode": "^1.85.0"
},
"categories": [
"Programming Languages"
],
"main": "dist/extension.js",
"contributes": {
"languages": [
{
"id": "simplicityhl",
"aliases": [
"Simfony",
"simfony",
"SimplicityHL",
"simplicityhl"
],
"extensions": [
".simf"
],
"icon": {
"dark": "./icons/simf.svg",
"light": "./icons/simf.svg"
},
"configuration": "./language-configuration.json"
},
{
"id": "simplicityhl-witness",
"aliases": [
"Simfony witness",
"simfony witness",
"SimplicityHL witness",
"simplicityhl witness"
],
"extensions": [
".wit"
],
"icon": {
"dark": "./icons/wit.svg",
"light": "./icons/wit.svg"
},
"configuration": "./witness-configuration.json"
}
],
"grammars": [
{
"language": "simplicityhl",
"scopeName": "source.simfony",
"path": "./syntaxes/simfony.tmLanguage.json"
},
{
"language": "simplicityhl-witness",
"scopeName": "source.wit",
"path": "./syntaxes/witness.tmLanguage.json"
}
],
"snippets": [
{
"language": "simplicityhl",
"path": "./snippets/simplicityhl.json"
}
],
"configuration": {
"title": "SimplicityHL",
"properties": {
"simplicityhl.suppressMissingLspWarning": {
"type": "boolean",
"default": false,
"description": "Do not show missing LSP executable warning."
},
"simplicityhl.disableAutoupdate": {
"type": "boolean",
"default": false,
"description": "Do not autoupdate LSP server."
},
"simplicityhl.compiler.path": {
"type": "string",
"default": "",
"description": "Path to the simc compiler. If empty, searches PATH and common locations."
},
"simplicityhl.build.autoSaveBeforeCompile": {
"type": "boolean",
"default": true,
"description": "Automatically save the file before compiling."
}
}
},
"commands": [
{
"command": "simplicityhl.restartServer",
"title": "Restart Server",
"category": "SimplicityHL"
},
{
"command": "simplicityhl.compileFile",
"title": "Compile Current File",
"category": "SimplicityHL",
"icon": "$(play)"
},
{
"command": "simplicityhl.compileFileDebug",
"title": "Compile with Debug Symbols",
"category": "SimplicityHL"
},
{
"command": "simplicityhl.compileWithWitness",
"title": "Compile with Witness",
"category": "SimplicityHL"
},
{
"command": "simplicityhl.compileJson",
"title": "Compile to JSON",
"category": "SimplicityHL"
}
],
"menus": {
"editor/title": [
{
"when": "resourceLangId == simplicityhl",
"command": "simplicityhl.compileFile",
"group": "navigation"
}
],
"editor/context": [
{
"when": "resourceLangId == simplicityhl",
"command": "simplicityhl.compileFile",
"group": "1_modification"
},
{
"when": "resourceLangId == simplicityhl",
"command": "simplicityhl.compileWithWitness",
"group": "1_modification"
}
],
"commandPalette": [
{
"command": "simplicityhl.compileFile",
"when": "resourceLangId == simplicityhl"
},
{
"command": "simplicityhl.compileFileDebug",
"when": "resourceLangId == simplicityhl"
},
{
"command": "simplicityhl.compileWithWitness",
"when": "resourceLangId == simplicityhl"
},
{
"command": "simplicityhl.compileJson",
"when": "resourceLangId == simplicityhl"
}
]
},
"keybindings": [
{
"command": "simplicityhl.compileFile",
"key": "ctrl+shift+b",
"mac": "cmd+shift+b",
"when": "resourceLangId == simplicityhl"
}
],
"taskDefinitions": [
{
"type": "simplicityhl",
"required": [
"command"
],
"properties": {
"command": {
"type": "string",
"enum": [
"compile",
"compile-debug",
"compile-with-witness"
],
"description": "The compilation command to run"
},
"file": {
"type": "string",
"description": "The SimplicityHL file to compile (defaults to current file)"
},
"witnessFile": {
"type": "string",
"description": "The witness file to use (for compile-with-witness)"
}
}
}
],
"problemMatchers": [
{
"name": "simplicityhl",
"owner": "simplicityhl",
"fileLocation": [
"absolute"
],
"pattern": {
"regexp": "^Error:\\s+(.*)$",
"message": 1
},
"severity": "error"
}
]
},
"license": "MIT",
"scripts": {
"compile": "npm run check-types && node esbuild.js --production",
"check-types": "tsc --noEmit",
"watch": "npm-run-all -p watch:*",
"watch:esbuild": "node esbuild.js --watch",
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
"vscode:prepublish": "npm run compile",
"login": "vsce login Simplicity",
"package": "vsce package",
"eslint-check": "eslint . --ext .ts",
"publish": "vsce publish"
},
"icon": "icon.png",
"devDependencies": {
"@eslint/js": "^9.13.0",
"@stylistic/eslint-plugin": "^2.9.0",
"@types/node": "^22",
"esbuild": "^0.25.9",
"ts-loader": "^9.5.4",
"@types/vscode": "^1.66.0",
"@vscode/vsce": "^3.6.0",
"@typescript-eslint/eslint-plugin": "^8.44.1",
"@typescript-eslint/parser": "^8.44.1",
"eslint": "^9.36.0",
"eslint-plugin-promise": "^7.2.1",
"jiti": "^2.6.0",
"ts-node": "^10.9.2",
"typescript": "^5.7.3",
"typescript-eslint": "^8.44.1"
},
"dependencies": {
"vscode-languageclient": "^9.0.1"
}
}