262 lines
6.1 KiB
JSON
262 lines
6.1 KiB
JSON
{
|
|
"name": "@nand2tetris/vscode",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"description": "NAND2Tetris IDE features for VSCode",
|
|
"author": "David Souther <davidsouther@gmail.com>",
|
|
"license": "ISC",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/davidsouther/nand2tetris.git"
|
|
},
|
|
"homepage": "https://davidsouther.github.io/nand2tetris",
|
|
"scripts": {
|
|
"prebuild": "shx mkdir -p out/views/hdl && cd .. && npm run build -w extension/views/hdl",
|
|
"build": "npx esbuild ./src/extension.ts --bundle --outfile=out/main.js --external:vscode --format=cjs --platform=node --sourcemap",
|
|
"watch": "npm run build -- --watch",
|
|
"vscode:prepublish": "npm run build",
|
|
"package": "vsce package"
|
|
},
|
|
"engines": {
|
|
"vscode": "^1.61.0"
|
|
},
|
|
"main": "./out/main.js",
|
|
"contributes": {
|
|
"commands": [
|
|
{
|
|
"command": "nand2tetris.run",
|
|
"title": "Nand2Tetris: run code",
|
|
"icon": "./images/button.png"
|
|
},
|
|
{
|
|
"command": "nand2tetris.stop",
|
|
"title": "Nand2Tetris: stop running"
|
|
},
|
|
{
|
|
"command": "nand2tetris.hardware",
|
|
"title": "Nand2Tetris: open hardware Simulator"
|
|
}
|
|
],
|
|
"configuration": {
|
|
"type": "object",
|
|
"title": "Nand2Tetris IDE",
|
|
"properties": {
|
|
"nand2tetris.showRunIconInEditorTitleMenu": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to show 'Run Code' icon in editor title menu.",
|
|
"scope": "resource"
|
|
},
|
|
"nand2tetris.showTranslateIconInEditorTitleMenu": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to show 'Translate Code' icon in editor title menu.",
|
|
"scope": "resource"
|
|
}
|
|
}
|
|
},
|
|
"languages": [
|
|
{
|
|
"id": "hdl",
|
|
"aliases": [
|
|
"HDL"
|
|
],
|
|
"extensions": [
|
|
".hdl"
|
|
],
|
|
"configuration": "./languages/language-configuration.json"
|
|
},
|
|
{
|
|
"id": "tst",
|
|
"aliases": [
|
|
"TST",
|
|
"TEST",
|
|
"Test",
|
|
"test"
|
|
],
|
|
"extensions": [
|
|
".tst"
|
|
],
|
|
"configuration": "./languages/language-configuration.json"
|
|
},
|
|
{
|
|
"id": "cmp",
|
|
"aliases": [
|
|
"CMP",
|
|
"cmp"
|
|
],
|
|
"extensions": [
|
|
".cmp"
|
|
]
|
|
},
|
|
{
|
|
"id": "out",
|
|
"aliases": [
|
|
"OUT",
|
|
"out"
|
|
],
|
|
"extensions": [
|
|
".out"
|
|
]
|
|
},
|
|
{
|
|
"id": "asm",
|
|
"aliases": [
|
|
"ASM",
|
|
"asm"
|
|
],
|
|
"extensions": [
|
|
".asm"
|
|
],
|
|
"configuration": "./languages/language-configuration.json"
|
|
},
|
|
{
|
|
"id": "hack",
|
|
"aliases": [
|
|
"HACK",
|
|
"hack"
|
|
],
|
|
"extensions": [
|
|
".hack"
|
|
]
|
|
},
|
|
{
|
|
"id": "vm",
|
|
"aliases": [
|
|
"VM",
|
|
"vm"
|
|
],
|
|
"extensions": [
|
|
".vm"
|
|
],
|
|
"configuration": "./languages/language-configuration.json"
|
|
},
|
|
{
|
|
"id": "jack",
|
|
"aliases": [
|
|
"JACK",
|
|
"jack"
|
|
],
|
|
"extensions": [
|
|
".jack"
|
|
],
|
|
"configuration": "./languages/language-configuration.json"
|
|
}
|
|
],
|
|
"grammars": [
|
|
{
|
|
"language": "hdl",
|
|
"scopeName": "source.hdl",
|
|
"path": "./languages/hdl.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "tst",
|
|
"scopeName": "source.tst",
|
|
"path": "./languages/tst.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "cmp",
|
|
"scopeName": "source.cmp",
|
|
"path": "./languages/cmp-out.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "out",
|
|
"scopeName": "source.out",
|
|
"path": "./languages/cmp-out.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "asm",
|
|
"scopeName": "source.asm",
|
|
"path": "./languages/asm.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "hack",
|
|
"scopeName": "source.hack",
|
|
"path": "./languages/hack.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "vm",
|
|
"scopeName": "source.vm",
|
|
"path": "./languages/vm.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "jack",
|
|
"scopeName": "source.jack",
|
|
"path": "./languages/jack.tmLanguage.json"
|
|
}
|
|
],
|
|
"snippets": [
|
|
{
|
|
"language": "hdl",
|
|
"path": "./languages/hdl.snippets.json.code-snippets"
|
|
},
|
|
{
|
|
"language": "tst",
|
|
"path": "./languages/tst.snippets.json.code-snippets"
|
|
},
|
|
{
|
|
"language": "asm",
|
|
"path": "./languages/asm.snippets.json.code-snippets"
|
|
},
|
|
{
|
|
"language": "vm",
|
|
"path": "./languages/vm.snippets.json.code-snippets"
|
|
},
|
|
{
|
|
"language": "jack",
|
|
"path": "./languages/jack.snippets.json.code-snippets"
|
|
}
|
|
],
|
|
"iconThemes": [
|
|
{
|
|
"id": "nand-ide",
|
|
"label": "Nand2Tetris IDE Icon Theme",
|
|
"path": "./fileicons/icon-theme.json"
|
|
}
|
|
],
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "nand2tetris",
|
|
"icon": "./fileicons/logo.svg",
|
|
"title": "NAND2Tetris"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"nand2tetris": [
|
|
{
|
|
"type": "webview",
|
|
"id": "nand2tetris.hdlView",
|
|
"name": "HDL Chip"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"activationEvents": [
|
|
"onCommand:nand2tetris.hardware",
|
|
"onLanguage:cmp",
|
|
"onLanguage:hdl",
|
|
"onLanguage:out",
|
|
"onLanguage:tst"
|
|
],
|
|
"devDependencies": {
|
|
"@davidsouther/jiffies": "^2.0.6",
|
|
"@nand2tetris/simulator": "file:../simulator",
|
|
"@types/error-cause": "^1.0.1",
|
|
"@types/node": "^16.11.41",
|
|
"@types/vscode": "^1.74.0",
|
|
"@vscode/vsce": "^2.27.0",
|
|
"@vscode/webview-ui-toolkit": "^1.2.1",
|
|
"esbuild": "^0.15.18",
|
|
"ohm-js": "^17.1.0"
|
|
},
|
|
"dependencies": {
|
|
"gh-pages": "6.1.1",
|
|
"react-scripts": "5.0.1"
|
|
},
|
|
"optionalDependencies": {
|
|
"esbuild-windows-64": "^0.15.18"
|
|
}
|
|
}
|