{"id":18674917,"url":"https://github.com/richjyoung/vscode-modern-vhdl","last_synced_at":"2025-06-11T11:20:41.597Z","repository":{"id":34566968,"uuid":"172796849","full_name":"richjyoung/vscode-modern-vhdl","owner":"richjyoung","description":"Modern VSCode VHDL Support","archived":false,"fork":false,"pushed_at":"2022-04-10T03:28:46.000Z","size":192,"stargazers_count":30,"open_issues_count":12,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-19T10:38:18.276Z","etag":null,"topics":["vhdl","vhdl08","vhdl93","vscode","vscode-language"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richjyoung.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-26T21:55:05.000Z","updated_at":"2024-02-19T19:13:18.000Z","dependencies_parsed_at":"2022-08-08T01:15:32.204Z","dependency_job_id":null,"html_url":"https://github.com/richjyoung/vscode-modern-vhdl","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richjyoung%2Fvscode-modern-vhdl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richjyoung%2Fvscode-modern-vhdl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richjyoung%2Fvscode-modern-vhdl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richjyoung%2Fvscode-modern-vhdl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richjyoung","download_url":"https://codeload.github.com/richjyoung/vscode-modern-vhdl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richjyoung%2Fvscode-modern-vhdl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259253753,"owners_count":22829151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vhdl","vhdl08","vhdl93","vscode","vscode-language"],"created_at":"2024-11-07T09:21:05.121Z","updated_at":"2025-06-11T11:20:41.572Z","avatar_url":"https://github.com/richjyoung.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSCode Modern VHDL Support\n\n[![Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/rjyoung.vscode-modern-vhdl-support.svg)](https://marketplace.visualstudio.com/items?itemName=rjyoung.vscode-modern-vhdl-support)\n[![Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/rjyoung.vscode-modern-vhdl-support.svg)](https://marketplace.visualstudio.com/items?itemName=rjyoung.vscode-modern-vhdl-support)\n[![Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/rjyoung.vscode-modern-vhdl-support.svg)](https://marketplace.visualstudio.com/items?itemName=rjyoung.vscode-modern-vhdl-support)\n[![Build Status](https://travis-ci.com/richjyoung/vscode-modern-vhdl.svg?branch=master)](https://travis-ci.com/richjyoung/vscode-modern-vhdl)\n[![License](https://img.shields.io/github/license/richjyoung/vscode-modern-vhdl.svg)](https://github.com/richjyoung/vscode-modern-vhdl)\n\nThis extension add language support for VHDL, based on the 2008 standard. Also includes syntax highlighting of constants, types and functions for the following standard packages:\n\n* STD\n  * standard\n  * env\n  * textio\n* IEEE\n  * std_logic_1164\n  * numeric_std\n  * math_real\n  * math_complex\n  * float_pkg\n  * fixed_pkg\n\nThe core grammar definition has been written in [YAML](https://yaml.org/), to allow easier maintenance and contributions. It has been designed to be as permissive as possible, whilst enforcing syntactically correct design units and control statements.\n\n## Features\n\n* Syntax highlighting of VHDL files up to the 2008 standard.\n* Snippets:\n    * Primary \u0026 Secondary Units.\n    * Process Statements.\n    * `if`/`case`/`for`/`generate`.\n    * Range types: `std_logic_vector`/`signed`/`unsigned`.\n* Completions:\n    * Standard libraries \u0026 packages (STD, IEEE).\n    * Predefined attributes ('high, 'low, ...).\n* [Stutter-mode](#stutter-mode), based on similar Emacs functionality.\n\n## Coming Soon\n\n* Control Statement Snippets\n* Completions\n* Symbol Extraction\n\n## Stutter Mode\n\nThis feature provides shortcuts to cumbersome syntax elements via multiple presses of certain keys. This optional feature is disabled by default, and can be turned on for Operators, Brackets and Comments as per the following subsections. In order for this to work, you must also set `\"editor.formatOnType\": true` to enable live replacement of text as you type.\n\nBoth delimiter and bracket shortcut groups only apply outside of comments.\n\n### Delimiter Shortcuts\n\nEnable via `\"vhdl.enableStutterDelimiters\": true`.\n\n| Shortcut | Replacement |\n|:--------:|:-----------:|\n| `''`     | `\"`         |\n| `;;`     | `:`         |\n| `;;;`    | `:=`        |\n| `..`     | `=\u003e`        |\n| `,,`     | `\u003c=`        |\n\nFor all operator replacements (i.e. except `\"`), spaces will be added either side of the replacement if not already present.\n\n### Bracket Shortcuts\n\nEnable via `\"vhdl.enableStutterBrackets\": true`. **Note:** These replacements are compatible with `\"editor.autoClosingBrackets\": true`, so long as the corresponding close bracket shortcut is also used as this will overwrite the incorrect suggestion.\n\n| Shortcut | Replacement |\n|:--------:|:-----------:|\n| `[`      | `(`         |\n| `[[`     | `[`         |\n| `]`      | `)`         |\n| `]]`     | `]`         |\n\n### Comment Shortcuts\n\nEnable via `\"vhdl.enableStutterComments\": true`.\n\n| Shortcut | Replacement                                             |\n|:--------:|:--------------------------------------------------------|\n| `---`    | Line separator, defined by `\"vhdl.stutterCommentWidth\"` |\n| `----`   | Display comment (surrounded by line separators)         |\n\n**Note:** An enter keypress at the end of a line that contains a non-empty comment will continue the comment on the next line. This can be cancelled by pressing enter again.\n\n## Contributing\n\nContributions are welcome via issues or pull requests. Bug reports should include a minimal example\nto reproduce the behaviour. For bugs in the grammar syntax, please also include the output from\nVSCode **Developer: Inspect TM Scopes** command.\n\nAny contribution must give copyright to the owner of this repository, Rich J. Young, so that the\nproject can be managed freely. Copyright headers are included in each source code file and these\nare expected to be unmodified. Any new files must include a similar header.\n\nMajor changes are worth discussing by creating an issue first, so that suitability can be agreed\nin advance of any development effort.\n\n## Release Notes\n\nThis is extension is under active development, and changes in each release are documented in the [CHANGELOG](./CHANGELOG.md)\n\n---\n_Copyright (c) 2019 Rich J. Young_","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichjyoung%2Fvscode-modern-vhdl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichjyoung%2Fvscode-modern-vhdl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichjyoung%2Fvscode-modern-vhdl/lists"}