Skip to content

2024.02.18

Choose a tag to compare

@zgoethel zgoethel released this 19 Feb 01:06
· 38 commits to master since this release

Included components
SourceGenerator.Installer.msi - Installs the Source Generator language server
SourceGenerator.zip - Binaries for the Source Generator language server
SourceGenerator.VsAdapter.zip - Source analyzer plugin for Visual Studio projects
SourceGenerator.VsEditor.vsix - Syntax highlighting extension for Visual Studio

New components

  • Language server process - Binds to the loopback interface and accepts compilation/IntelliSense requests. A shared process which provides metadata to all running instances of Visual Studio from provided sources.
  • Visual Studio source analyzer plugin - Relies on the language server to provide generated source from project sources in VS.
  • Visual Studio syntax highlighting extension - Relies on the language server to provide span classifications for source in the VS editor.

Datalayer generation

  • Table schema fields
  • DTO class types
  • Partial sub-class types
  • Stored procedure repositories
  • SQL Server JSON results
  • Service interfaces
  • Backend service wrapper
  • HTTP client for frontend
  • Parameter splatting from DTO type

Reactive components

  • HTML nodes
  • HTML node parameters
  • HTML node nicknaming (alias)
  • Inline C# expressions
  • Flow control statements if(
  • Loop statements for(/foreach(
  • Sub-components
  • Component state
  • Component action interfaces
  • Generated view controllers
  • Minimal JS dispatch function
  • Component child content child(
  • Dependency injection inject(
  • Parent state access parent(
  • DOM node grouping operator <>
  • Multiline string operator <">
  • Unescaped content unsafe(

Source analyzer plugin

  • Generated model sources
  • Generated view sources
  • Dependency injection utility functions
  • Implements socket interface to language server

Syntax highlighting extension

  • Delimiter and identifier classifications
  • Full document re-highlighting
  • Throttled updates based on user input events
  • Implements socket interface to language server