UNPKG

@imc-trading/svlangserver

Version:
280 lines (279 loc) 9.95 kB
{ "name": "@imc-trading/svlangserver", "description": "A language server for systemverilog", "keywords": [ "sv", "systemverilog", "verilog", "language", "server" ], "version": "0.4.1", "author": "Kanad Kanhere", "publisher": "IMCTradingBV", "license": "MIT", "repository": { "type": "git", "url": "https://github.com/imc-trading/svlangserver.git" }, "engines": { "node": "*", "vscode": "^1.52.0" }, "icon": "resources/icon.png", "categories": [ "Programming Languages", "Snippets", "Linters", "Formatters" ], "activationEvents": [ "onLanguage:systemverilog", "onLanguage:verilog", "onLanguage:markdown", "workspaceContains:**/*.{sv,v,svh,vh}" ], "extensionKind": [ "workspace" ], "main": "./dist/extension", "bin": { "svlangserver": "./bin/main.js" }, "contributes": { "languages": [ { "id": "systemverilog", "aliases": [ "SystemVerilog", "systemverilog", "System Verilog", "Systemverilog" ], "extensions": [ ".sv", ".svh" ], "configuration": "./language-configuration.json" }, { "id": "verilog", "aliases": [ "Verilog", "verilog" ], "extensions": [ ".v", ".vh" ], "configuration": "./language-configuration.json" } ], "snippets": [ { "language": "systemverilog", "path": "./snippets/systemverilog.json" }, { "language": "verilog", "path": "./snippets/systemverilog.json" } ], "grammars": [ { "language": "systemverilog", "scopeName": "source.systemverilog", "path": "./syntaxes/systemverilog.tmLanguage.json" }, { "language": "verilog", "scopeName": "source.systemverilog", "path": "./syntaxes/systemverilog.tmLanguage.json" }, { "scopeName": "markdown.verilog.codeblock", "path": "./syntaxes/codeblock.json", "injectTo": [ "text.html.markdown" ], "embeddedLanguages": { "meta.embedded.block.systemverilog": "source.systemverilog", "meta.embedded.block.verilog": "source.verilog" } } ], "configuration": [ { "title": "SystemVerilog Language Server", "properties": { "systemverilog.includeIndexing": { "type": "array", "default": [ "**/*.sv" ], "description": "Files included for indexing (glob pattern)." }, "systemverilog.mustIncludeIndexing": { "type": "array", "default": [], "description": "Files included for indexing and are always to be linted (glob pattern)." }, "systemverilog.libraryIndexing": { "type": "array", "default": [], "description": "Files not included for indexing but needed for linting (glob pattern)." }, "systemverilog.excludeIndexing": { "type": "array", "default": [ "**/test/**" ], "description": "Files excluded for indexing (glob pattern)." }, "systemverilog.linter": { "type": "string", "enum": [ "icarus", "verilator" ], "default": "verilator", "description": "Linter to use" }, "systemverilog.launchConfiguration": { "type": "string", "default": "verilator -sv --lint-only --Wall", "description": "Command used for linting", "examples": [ "verilator -sv --lint-only --Wall", "iverilog -t null" ] }, "systemverilog.defines": { "type": "array", "default": [], "description": "Defines needed for linting." }, "systemverilog.lintOnUnsaved": { "type": "boolean", "default": true, "description": "Enable linting on unsaved files" }, "systemverilog.linterWhitelist": { "type": "array", "default": [ "/Unsupported: Interfaced port on top level module/i", "/Parent instance's interface is not found/i" ], "description": "List of linting errors that need to be whitelisted (javascript regex)" }, "systemverilog.formatCommand": { "type": "string", "default": "verible-verilog-format", "description": "Verible verilog format command" }, "systemverilog.disableCompletionProvider": { "type": "boolean", "default": false, "description": "Disable auto completion provided by the language server" }, "systemverilog.disableHoverProvider": { "type": "boolean", "default": false, "description": "Disable hover over help provided by the language server" }, "systemverilog.disableSignatureHelpProvider": { "type": "boolean", "default": false, "description": "Disable signature help provided by the language server" }, "systemverilog.disableLinting": { "type": "boolean", "default": false, "description": "Disable verilator linting" } } } ], "commands": [ { "command": "systemverilog.build_index", "title": "SystemVerilog: Build index of modules in workspace" }, { "command": "systemverilog.get_hierarchy", "title": "SystemVerilog: Get hierarchy of instances for a given top module" } ], "jsonValidation": [ { "fileMatch": "tasks.json", "url": "./schemas/tasks.schema.json" } ], "problemMatchers": [ { "name": "verilator-error", "owner": "Verilator", "source": "systemverilog", "severity": "error", "fileLocation": "autoDetect", "pattern": [ { "regexp": "%Error(-[A-Z0-9]+)?: ((\\S+):(\\d+):((\\d+):)? )?(.*)$", "severity": 1, "file": 2, "line": 3, "column": 4, "message": 5 } ] }, { "name": "verilator-warning", "owner": "Verilator", "source": "systemverilog", "severity": "warning", "fileLocation": "autoDetect", "pattern": [ { "regexp": "%Warning(-[A-Z0-9]+)?: ((\\S+):(\\d+):((\\d+):)? )?(.*)$", "severity": 1, "file": 2, "line": 3, "column": 4, "message": 5 } ] } ] }, "dependencies": { "glob": "^7.1.6", "vscode-languageclient": "^7.0.0", "vscode-languageserver": "^7.0.0", "vscode-languageserver-protocol": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-uri": "^2.1.2", "tmp": "^0.2.1" }, "devDependencies": { "@types/node": "^12.12.0", "@types/vscode": "^1.52.0", "ts-loader": "^9.1.2", "typescript": "^3.7.5", "webpack": "^5.37.0", "webpack-cli": "^4.7.0" }, "scripts": { "vscode:prepublish": "npm run prepare && npm run webpack", "webpack": "webpack --mode production --config ./webpack.config.js", "build": "tsc -p .", "prepare": "tsc -p ./src", "watch": "tsc --watch -p ." }, "files": [ "/lib/*.js", "/lib/*.d.ts", "/bin/*.js" ] }