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" />
<PackageReference Include="AIGuiders.Platform.Modeling.Language.Adapters.Gdl" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=AIGuiders.Platform.Modeling.Language.Adapters.Gdl&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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— anILanguageBackendwithLanguageId = "gdl";CanHandleaccepts.gdland.gdlproj:GetDiagnosticsAsync— parses*.deck.gdlwith the GDL deck parser and surfaces eachAuthoringDiagnosticas an Error-severityLanguageDiagnostic(code, message, line/column)GetDocumentSymbolsAsync— outline tree for deck files: adeckroot (named by planet) with attentionpresetchildren and boundzonechildrenGoToDefinitionAsync,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.gdlfiles 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.gdlfiles (catalog and the rest of the quarry family) passCanHandlebut 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 | Versions 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.
-
net10.0
- AIGuiders.Platform.Modeling.Gdl.Authoring (>= 0.1.0)
- AIGuiders.Platform.Modeling.Gdl.Parse.Deck (>= 0.1.0)
- AIGuiders.Platform.Modeling.Language (>= 0.1.0)
- FSharp.Core (>= 10.1.401)
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 |