{ "name": "digital-ide", "displayName": "digital-ide", "description": "all in one vscode plugin for Verilog/VHDL development", "version": "0.3.0", "engines": { "vscode": "^1.72.0" }, "main": "./out/extension.js", "categories": [ "Extension Packs", "Programming Languages", "Snippets" ], "activationEvents": [ "onLanguage:verilog", "onLanguage:vhdl", "onLanguage:systemverilog", "onCommand:digital-ide.property-json.generate", "onCommand:digital-ide.property-json.overwrite", "workspaceContains:.vscode/property.json" ], "contributes": { "configuration": { "title": "Digital-IDE", "properties": { "lib.custom.path": { "scope": "window", "type": "string", "default": "", "description": "path of the dictionary of \"custom\" in library" }, "function.doc.webview.backgroundImage": { "type": "string", "default": "", "description": "url of the background image" }, "function.doc.pdf.scale": { "type": "number", "default": 1, "description": "scale of the exported pdf" }, "function.doc.pdf.printBackground": { "type": "boolean", "default": true, "description": "whether print background" }, "function.doc.pdf.landscape": { "type": "boolean", "default": false, "description": "whether export pdf as a landscape style" }, "function.doc.pdf.format": { "type": "string", "default": "A4", "description": "format of pdf size" }, "function.doc.pdf.displayHeaderFooter": { "type": "boolean", "default": false, "description": "display header and footer in the exported pdf" }, "function.doc.pdf.browserPath": { "type": "string", "default": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe", "description": "the absolute path of edge or chrome, we need browser to render pdf" }, "function.doc.pdf.margin.top": { "type": "number", "default": 0.5, "description": "top margin of exported pdf, unit cm" }, "function.doc.pdf.margin.right": { "type": "number", "default": 0.5, "description": "top margin of exported pdf, unit cm" }, "function.doc.pdf.margin.bottom": { "type": "number", "default": 0.5, "description": "top margin of exported pdf, unit cm" }, "function.doc.pdf.margin.left": { "type": "number", "default": 0.5, "description": "top margin of exported pdf, unit cm" }, "function.doc.pdf.headerTemplate": { "type": "string", "default": "
", "description": "html template of header, if displayHeaderFooter is set to false, this setting will be ignored" }, "function.doc.pdf.footerTemplate": { "type": "string", "default": "
", "description": "
/
" } } }, "commands": [ { "command": "digital-ide.property-json.generate", "title": "%digital-ide.property-json.generate.title%", "category": "Digital-IDE" }, { "command": "digital-ide.property-json.overwrite", "title": "%digital-ide.property-json.overwrite.title%", "category": "Digital-IDE" }, { "command": "digital-ide.hdlDoc.exportFile", "title": "%digital-ide.hdlDoc.exportFile.title%", "category": "Digital-IDE" }, { "command": "digital-ide.hdlDoc.exportProject", "title": "%digital-ide.hdlDoc.exportProject.title%", "category": "Digital-IDE" }, { "command": "digital-ide.hdlDoc.showWebview", "title": "%digital-ide.hdlDoc.showWebview.title%", "category": "Digital-IDE", "icon": { "light": "images/svg/light/documentation.svg", "dark": "images/svg/dark/documentation.svg" } }, { "command": "digital-ide.tool.instance", "title": "%digital-ide.tool.instance.title%", "category": "Digital-IDE" }, { "command": "digital-ide.tool.testbench", "title": "%digital-ide.tool.testbench.title%", "category": "Digital-IDE" } ], "menus": { "editor/title": [ { "when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl", "command": "digital-ide.hdlDoc.showWebview", "group": "navigation@4" } ] }, "keybindings": [ { "command": "digital-ide.tool.instance", "key": "alt+i", "mac": "alt+i", "when": "editorTextFocus" }, { "command": "digital-ide.tool.testbench", "key": "alt+t", "mac": "alt+t", "when": "editorTextFocus" } ], "languages": [ { "id": "tcl", "aliases": [ "TCL", "Xilinx Constraints File", "Synopsis Constraints File" ], "extensions": [ ".tcl", ".sdc", ".xdc", ".fdc" ], "configuration": "./config/tcl.configuration.json" }, { "id": "bd", "extensions": [ ".bd" ] }, { "id": "vhdl", "aliases": [ "VHDL", "vhdl" ], "extensions": [ ".vhd", ".vhdl", ".vho", ".vht" ], "configuration": "./config/vhdl.configuration.json" }, { "id": "verilog", "aliases": [ "Verilog", "verilog" ], "extensions": [ ".v", ".V", ".vh", ".vl" ], "configuration": "./config/verilog.configuration.json" }, { "id": "systemverilog", "aliases": [ "System Verilog", "systemverilog" ], "extensions": [ ".sv", ".SV" ], "configuration": "./config/systemverilog.configuration.json" }, { "id": "arm", "aliases": [ "ARM", "arm" ], "extensions": [ ".s", ".S", ".asm", ".sx" ], "configuration": "./config/arm.configuration.json" }, { "id": "linkerscript", "aliases": [ "LinkerScript", "linkerscript" ], "extensions": [ ".ld", ".dld" ], "configuration": "./config/link.configuration.json" } ], "jsonValidation": [ { "fileMatch": "property.json", "url": "./project/property-schema.json" } ], "grammars": [ { "language": "linkerscript", "scopeName": "source.ld", "path": "./syntaxes/link.json" }, { "language": "arm", "scopeName": "source.arm", "path": "./syntaxes/arm.json" }, { "language": "tcl", "scopeName": "source.tcl", "path": "./syntaxes/tcl.json" }, { "language": "vhdl", "scopeName": "source.vhdl", "path": "./syntaxes/vhdl.json" }, { "language": "verilog", "scopeName": "source.verilog", "path": "./syntaxes/verilog.json" }, { "language": "systemverilog", "scopeName": "source.systemverilog", "path": "./syntaxes/systemverilog.json" } ], "snippets": [ { "language": "tcl", "path": "snippets/tcl.json" }, { "language": "vhdl", "path": "snippets/vhdl.json" }, { "language": "verilog", "path": "snippets/svlog.json" }, { "language": "systemverilog", "path": "snippets/svlog.json" } ], "icons": { "instance-verilog": { "description": "icon of verilog in TOOL.instance", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e7a8" } }, "instance-vhdl": { "description": "icon of verilog in TOOL.instance", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e6b3" } }, "instance-port": { "description": "port of verilog in TOOL.instance", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e638" } }, "instance-param": { "description": "param of verilog in TOOL.instance", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e655" } }, "instance-module": { "description": "module of verilog in TOOL.instance", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e60b" } }, "instance-input": { "description": "input", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e908" } }, "instance-output": { "description": "output", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e7b0" } }, "instance-inout": { "description": "inout", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\ea19" } }, "export-html": { "description": "export html", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e633" } }, "export-markdown": { "description": "export markdown", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\ee68" } }, "export-pdf": { "description": "export pdf", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e684" } }, "libpick-folder": { "description": "libpick folder", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e600" } }, "libpick-verilog": { "description": "libpick verilog", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e7a8" } }, "libpick-vhdl": { "description": "libpick vhdl", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e6b3" } }, "libpick-common": { "description": "libpick common", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e622" } }, "libpick-custom": { "description": "libpick custom", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e623" } }, "libpick-unknown": { "description": "libpick unknown", "default": { "fontPath": "./images/icons/iconfont.woff2", "fontCharacter": "\\e62a" } } } }, "scripts": { "vscode:prepublish": "npm run compile", "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "pretest": "npm run compile && npm run lint", "lint": "eslint src --ext ts", "test": "node ./out/test/runTest.js" }, "devDependencies": { "@types/glob": "^8.0.0", "@types/mocha": "^10.0.0", "@types/node": "16.x", "@types/showdown": "^2.0.0", "@types/vscode": "^1.74.0", "@typescript-eslint/eslint-plugin": "^5.42.0", "@typescript-eslint/parser": "^5.42.0", "@vscode/test-electron": "^2.2.0", "eslint": "^8.26.0", "glob": "^8.0.3", "mocha": "^10.1.0", "typescript": "^4.8.4" }, "dependencies": { "chokidar": "^3.5.3", "puppeteer-core": "^19.4.1", "showdown": "^2.1.0", "state-machine-cat": "^9.2.5", "temp": "^0.9.4", "wavedrom": "^2.9.1" } }