AIGuiders.Platform.Modeling.Language.Adapters.Gdl 0.1.0

dotnet add package AIGuiders.Platform.Modeling.Language.Adapters.Gdl --version 0.1.0
                    
NuGet\Install-Package AIGuiders.Platform.Modeling.Language.Adapters.Gdl -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AIGuiders.Platform.Modeling.Language.Adapters.Gdl" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AIGuiders.Platform.Modeling.Language.Adapters.Gdl" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="AIGuiders.Platform.Modeling.Language.Adapters.Gdl" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AIGuiders.Platform.Modeling.Language.Adapters.Gdl --version 0.1.0
                    
#r "nuget: AIGuiders.Platform.Modeling.Language.Adapters.Gdl, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AIGuiders.Platform.Modeling.Language.Adapters.Gdl@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AIGuiders.Platform.Modeling.Language.Adapters.Gdl&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=AIGuiders.Platform.Modeling.Language.Adapters.Gdl&version=0.1.0
                    
Install as a Cake Tool

AIGuiders.Platform.Modeling.Language.Adapters.Gdl

GDL deck-file adapter for the Language Resolver Center — parser-backed diagnostics and outline behind ILanguageBackend.

What you get

  • GdlLanguageBackend — an ILanguageBackend with LanguageId = "gdl"; CanHandle accepts .gdl and .gdlproj:
    • GetDiagnosticsAsync — parses *.deck.gdl with the GDL deck parser and surfaces each AuthoringDiagnostic as an Error-severity LanguageDiagnostic (code, message, line/column)
    • GetDocumentSymbolsAsync — outline tree for deck files: a deck root (named by planet) with attention preset children and bound zone children
    • GoToDefinitionAsync, FindUsagesAsync, GetCompletionsAsync, GetSymbolAtPositionAsync, RenameSymbolAsync — registered for contract completeness and intentionally return empty/default results (syntax tier only today)
  • Zero IO: the backend works purely from LanguageRequest.SourceText

Quick start

open System.Threading
open AIGuiders.Platform.Modeling.Language
open AIGuiders.Platform.Modeling.Language.Adapters.Gdl

let backend = GdlLanguageBackend() :> ILanguageBackend

let request : LanguageRequest =
    { FilePath = "cockpit.deck.gdl"
      Line = 1
      Column = 1
      SourceText = deckText
      SolutionOrProjectPath = ""
      SessionDefaultLanguageId = LanguageIds.Gdl }

let outline = backend.GetDocumentSymbolsAsync(request, CancellationToken.None).Result
let checks = backend.GetDiagnosticsAsync(request, CancellationToken.None).Result

Problem

  • A multi-language workspace wants one verbs surface for every file kind, but structured DSL files are usually left out: they either get no language service at all, or each tool wires a bespoke one-off parser call with its own result shape.
  • Deck documents are machine-checked config — without an adapter, typos in them surface only when the deck is loaded, not while editing.

Solution

  • A thin mirror: the deck parser (Platform.Modeling.Gdl.Parse.Deck) and its authoring diagnostics project into the shared LRC envelopes, so .deck.gdl files answer the same diagnostics/outline calls as any other language in the workspace.
  • Parsing stays in the GDL packages; this adapter adds no grammar of its own.
  • It fills the GDL slot of the federation Language Resolver Center — ADR-0061; the deck language itself is specified by ADR-0059 — GDL hyperlane.

When not to use

  • This mirror does real work only for *.deck.gdl — other .gdl files (catalog and the rest of the quarry family) pass CanHandle but get empty diagnostics and a bare file outline.
  • No semantic tier: go-to-definition, find-usages, completions and rename are deliberate stubs returning empty results.
  • Coarse positions: all deck diagnostics map to Error severity and preset/zone symbols carry line-level pseudo-spans, not precise token ranges.

Learn more


MIT · Source & issues · part of the Guiders federation

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 46 10/24/2026