Skip to content

Releases: pascal-lab/vide

Vide v1.2.1

08 Jun 12:41
6fb8cec

Choose a tag to compare

Vide 1.2.1 fixes macro expansion hover output for configured predefines and nested macro arguments, and updates the 1.2.0 code action notes.

Fixes

Macro Expansion Hover

  • Macro hover now keeps showing the complete expansion when the output passes through predefines configured in vide.toml. (#245 by @hongjr03)
  • Expansion output now preserves line breaks and indentation from the preprocessor trace, so the hover's Expands to code block more closely matches the expanded code. (#245 by @hongjr03)

Documentation

  • Updated the 1.2.0 release note wording for automatic refactoring code actions so the listed scope is more accurate. (#244 by @hongjr03)

Contributors

Thanks to everyone who contributed to this release:

Full Changelog: v1.2.0...v1.2.1

Vide v1.2.0

08 Jun 10:40
f15b3fe

Choose a tag to compare

Vide 1.2.0 improves macro navigation, hover, references, and code actions, while adding Qihe options generation and release packaging updates.

Highlights

Reading Macros and Conditional Code

  • When reading a macro call, hover can now show the macro signature, argument mapping, final expansion text, and each nested expansion step. (#237 by @hongjr03)

    Macro hover and macro-argument inlay hints example

  • Macros are no longer limited to the current file: macros defined in included headers can participate in go to definition, find references, hover, completion, and diagnostic targeting. (#228 by @hongjr03, #235 by @hongjr03)

  • Predefined macros from vide.toml can be navigation and reference targets when Vide can locate the matching configuration entry. (#238 by @hongjr03)

  • For the same ifdef / ifndef code, diagnostics, navigation, semantic tokens, document highlights, and references now agree more consistently on the active branch. (#234 by @hongjr03, #241 by @hongjr03)

Code Actions and Document Symbols

  • More Code Actions are available: always / always_comb / always_ff conversion, ANSI / non-ANSI port declaration conversion, named-port shorthand expansion/collapse, redundant-parentheses removal, nested-if merge, variable extraction, assignment pull up/down, number-literal reformatting, and more. (#239 by @roife)

    Always block conversion example

    ANSI and non-ANSI port declaration conversion example

    Named port shorthand expansion and collapse example

    Extract variable example

  • Document symbols now include typedef struct / typedef union, including types nested inside generate or block scopes. (#239 by @roife)

    Struct document symbols example

Qihe Integration

  • The VS Code extension can detect qihe-options.toml and automatically add --options ./qihe-options.toml when running Qihe. storage.root from the options file is preserved. (#226 by @edragain2nd)
  • A new VS Code command can generate qihe-options.toml, reusing the current Qihe command setting, with English and Chinese docs for the workflow. (#230 by @hongjr03)

Reliability, CI, and Packages

  • Fixed a crash that could happen in some workspace requests after files were renamed or added. (#229 by @hongjr03)
  • Fixed C++ / musl linking issues in Alpine packages. (#232 by @hongjr03)
  • VS Code Web Smoke dependencies moved into a separate package, so regular extension installs and package jobs no longer trigger browser download scripts. (#231 by @hongjr03)
  • VS Code extension packaging was reorganized, making release packages smaller. Profiling support stays available in debug/profile packages. (#240 by @roife)
  • Preprocessor code was reorganized into a clearer module boundary for future maintenance. (#227 by @hongjr03)

Contributors

Thanks to everyone who contributed to this release:

New Contributors

Full Changelog: v1.1.0...v1.2.0

Vide v1.1.0

04 Jun 08:46
35f75c4

Choose a tag to compare

Vide 1.1.0 focuses on editing features people use directly: workspace symbol search, automatic refactoring, rename, hover, and diagnostics.

Highlights

Workspace Symbol Search

  • Editors can now ask Vide for symbols across the workspace, making it easier to search for modules, instances, signals, and other code objects. Supported editors show these results through their workspace symbol search or equivalent entry point. (#210)

  • Search supports case-insensitive fuzzy matching and path or container filters, so you can narrow the query to a module or hierarchy before searching for a specific signal. (#210)

  • After a file is renamed in the workspace, workspace symbol search and go-to-definition now update to the new file path instead of continuing to show or jump to the old path. (#222)

    Workspace symbol search example

Automatic Refactoring and Quick Fixes

In VS Code, these features usually appear in the lightbulb menu. In other editors, use the editor's code action entry point. See the Automatic Refactoring guide.

  • Declaration and instantiation cleanup: Split declaration, Sort named parameter assignments, and Sort named port connections. (#211)

    Declaration and instantiation cleanup example

  • Control-flow cleanup: Add default case item, Invert if/else, and Wrap statement in begin/end. (#211)

    Control-flow cleanup example

  • Boolean expression and compound-assignment cleanup: Apply De Morgan's law, Factor De Morgan's law, Expand compound assignment, and Collapse compound assignment. (#211)

  • Increment, decrement, assignment, and compound-assignment forms can now be converted into each other, making it easier to match the style that fits the surrounding code. (#211)

    Expression and assignment rewrite example

  • Parser quick fixes: when brackets, semicolons, or other syntax tokens are missing, Vide can offer Insert missing '{token}'. (#212)

    Parser quick fix example

Rename

These updates apply to the editor's rename feature.

  • When Vide can confirm that a rename only affects the current file, it can now run without an existing vide.toml. (#202)

    Current-file rename without vide.toml example

  • Rename can expand recursively through more related references and warn when duplicated names are found. (#215)

    Recursive rename and duplicate-name warning example

Hover

  • Hovering over a module instance now shows a more complete module signature. (#209)

Diagnostics

  • Width-related warnings are now enabled by default. After upgrading, the Problems panel or the editor's diagnostics list may show more width expansion or truncation warnings. If you do not want these warnings, adjust diagnostics.slang.warnings. (#214)

    Hover and width diagnostics example

VS Code Extension

  • On Windows, the VS Code extension uses qihe.bat by default to launch Qihe. Explicit user configuration still takes precedence. (#207)

Configuration and Packages

  • The user configuration schema is now published with the documentation, keeping editor settings and documentation tables in sync. (#206)
  • The Linux x64 package now uses a manylinux2014 build for better compatibility with older glibc environments. (#219)

Documentation Site

  • The language selector now uses the label "Language/Languages" and sizes itself from the label text, reducing layout squeeze when switching between Chinese and English. (#216, #217)

Vide v1.0.0

30 May 10:50

Choose a tag to compare

Full Changelog: v0.1.10...v1.0.0

Vide v0.1.7

28 May 14:38

Choose a tag to compare

What's Changed

  • feat(docs): Refresh homepage hero and sidebar behavior by @roife in #185
  • docs: polish en version by @roife in #187
  • update comparison table by @roife in #178

Full Changelog: v0.1.6...v0.1.7

Vide v0.1.6

28 May 09:13
f03be6f

Choose a tag to compare

What's Changed

Full Changelog: v0.1.5...v0.1.6

Vizsla v0.1.5

26 May 07:18
6d130d9

Choose a tag to compare

What's Changed

  • fix(vscode): highlight Verilog declaration lists by @hongjr03 in #119
  • fix(vscode): pass initial configuration to server by @hongjr03 in #120
  • fix(config): reload workspace on structural setting changes by @hongjr03 in #121
  • fix(build): provide local release metadata defaults by @hongjr03 in #122
  • chore(release): align server version with extension by @hongjr03 in #123
  • fix(thread): prioritize latency-sensitive jobs by @hongjr03 in #125
  • fix(vfs): ignore stale loaded file batches by @hongjr03 in #127
  • fix(diagnostics): keep result ids stable without config changes by @hongjr03 in #126
  • fix(vfs): stabilize file identity ingress by @hongjr03 in #129
  • fix: named port semantic token range by @roife in #130
  • fix(vfs): coordinate workspace readiness by @hongjr03 in #131
  • fix(diagnostics): complete owner-based delivery by @hongjr03 in #132
  • feat: inlay hint port targets by @roife in #134
  • fix(docs): make Pages base explicit by @hongjr03 in #140
  • docs: vizsla playground by @hongjr03 in #135
  • docs: user guide by @hongjr03 in #141
  • fix(qihe): use legacy manifests for project analysis by @hongjr03 in #143
  • fix(ide): apply manifest predefines to navigation by @hongjr03 in #142
  • fix(ide): mark inactive macro branches as unused by @hongjr03 in #144
  • fix(ide): lower unused diagnostics to hints by @hongjr03 in #145
  • chore(release): prepare 0.1.5 by @hongjr03 in #146

Full Changelog: v0.1.4...v0.1.5

Vizsla v0.1.4

23 May 17:07
11f6b54

Choose a tag to compare

What's Changed

  • fix(qihe): avoid Windows verbatim cwd paths by @hongjr03 in #98
  • chore: vendor slang source by @hongjr03 in #102
  • fix(build): enable optimized slang release builds by @hongjr03 in #103
  • fix(lsp): avoid duplicate slang diagnostics work by @hongjr03 in #104
  • fix(lsp): avoid full parse for preproc index by @hongjr03 in #105
  • fix(lsp): escape system task completion snippets by @hongjr03 in #106
  • fix(lsp): resolve named instance connections by @hongjr03 in #107
  • fix(vscode): improve Verilog TextMate grammars by @hongjr03 in #108
  • fix(vscode): use editor resource for Qihe analysis by @hongjr03 in #109
  • feat(vscode): add diagnostics profiling by @hongjr03 in #110
  • chore(deps-dev): bump qs from 6.15.1 to 6.15.2 in /editors/vscode by @dependabot[bot] in #112
  • feat(vscode): allow disabling manifest-derived Qihe args by @hongjr03 in #113
  • fix(qihe): satisfy clippy for manifest args by @hongjr03 in #115
  • fix(vscode): scope profiling server config by @hongjr03 in #114
  • feat(vscode): add output actions for failures by @hongjr03 in #117
  • chore(vscode): move profiling into status menu by @hongjr03 in #118
  • chore(vscode): release 0.1.4 by @hongjr03 in #116

New Contributors

Full Changelog: v0.1.3...v0.1.4

Vizsla v0.1.3

22 May 09:24
d478cdd

Choose a tag to compare

What's Changed

  • docs: add versioned changelog and release check by @hongjr03 in #75
  • fix(inlay): anchor end-structure hints to endmodule ranges by @hongjr03 in #84
  • feat: enable best-effort indexing by default by @hongjr03 in #80
  • fix(ci): tolerate Rust cache failures by @hongjr03 in #85
  • fix(ide): handle duplicate modules in best-effort indexing by @hongjr03 in #86
  • feat: i18n by @hongjr03 in #87
  • feat(vscode): add diagnostic rule quick actions by @hongjr03 in #88
  • test(vscode): use l10n-dev for runtime string extraction by @hongjr03 in #89
  • feat(vscode): improve project status and diagnostics UX by @hongjr03 in #90
  • fix(lsp): clear diagnostics after file deletion by @hongjr03 in #91
  • feat(qihe): add dedicated output channel for run logs by @hongjr03 in #92
  • fix(lsp): handle include-expanded source map nodes by @hongjr03 in #93
  • chore(vscode): release 0.1.3 by @hongjr03 in #95

Full Changelog: v0.1.2...v0.1.3

Vizsla beta

18 May 06:17
fbc68c1

Choose a tag to compare

Vizsla beta Pre-release
Pre-release

What's Changed

  • build: add slang submodule and winapi for Windows build support by @hongjr03 in #3
  • feat: vscode extension by @hongjr03 in #2
  • feat(vscode): add TextMate grammars for verilog/systemverilog by @hongjr03 in #9
  • chore: add vscode packaging script and update .gitignore by @hongjr03 in #10
  • feat(hir): add package and subroutine containers by @hongjr03 in #4
  • feat(ide): completion by @hongjr03 in #6
  • feat: add diagnostics by @hongjr03 in #8
  • refactor(hir): intern subroutine ids by @hongjr03 in #11
  • refactor: cmake rust bridge by @hongjr03 in #12
  • feat: complete typedef support across HIR and IDE by @hongjr03 in #13
  • fix: stabilize diagnostics and clean up warning suppressions by @hongjr03 in #14

New Contributors

Full Changelog: https://github.com/pascal-lab/vizsla/commits/beta

What's Changed

  • fix(qihe): avoid Windows verbatim cwd paths by @hongjr03 in #98

Full Changelog: v0.1.3...beta