XxmiLang 0.1.2
dotnet add package XxmiLang --version 0.1.2
NuGet\Install-Package XxmiLang -Version 0.1.2
<PackageReference Include="XxmiLang" Version="0.1.2" />
<PackageVersion Include="XxmiLang" Version="0.1.2" />
<PackageReference Include="XxmiLang" />
paket add XxmiLang --version 0.1.2
#r "nuget: XxmiLang, 0.1.2"
#:package XxmiLang@0.1.2
#addin nuget:?package=XxmiLang&version=0.1.2
#tool nuget:?package=XxmiLang&version=0.1.2
XxmiLang
Lint and analyse XXMI / 3DMigoto mod .ini files from C#. This is a typed client for the
xxmi-lang tools: the language rules live in the xxmi
binary (the same one the CLI, VS Code and Kate use), so results always match what the editor shows.
Install
dotnet add package XxmiLang # net10.0; trim and Native AOT compatible (brings XxmiLang.Core)
dotnet add package XxmiLang.Native.win-x64 # the xxmi binary; add one per platform you ship
Runtime packages: XxmiLang.Native. + win-x64, win-arm64, linux-x64, linux-arm64,
osx-x64, osx-arm64. Without one, set XxmiOptions.ExecutablePath or the XXMI_PATH
environment variable, or put xxmi on PATH.
Lint
using XxmiLang;
IXxmiLinter linter = new XxmiLinter();
LintResult result = await linter.LintAsync(new[] { @"C:\XXMI\ZZMI\Mods\MyMod" });
// also LintFileAsync(path) and LintTextAsync(path, text) for unsaved text
foreach (var (path, d) in result.AllDiagnostics)
Console.WriteLine($"{path}:{d.Range.Start.Line + 1} {d.Severity} {d.Id} {d.Message}");
Language service
await using var service = new XxmiLanguageService();
await service.StartAsync(@"C:\XXMI\ZZMI\Mods\MyMod");
await service.OpenDocumentAsync(@"C:\XXMI\ZZMI\Mods\MyMod\mod.ini");
var diagnostics = await service.GetDiagnosticsAsync(path);
var hover = await service.GetHoverAsync(path, line: 4, character: 1); // 0-based
var definition = await service.GetDefinitionAsync(path, 5, 10);
var completions = await service.GetCompletionsAsync(path, 10, 6);
Also: FindReferencesAsync, GetOutlineAsync, PrepareRenameAsync, RenameAsync,
GetCodeActionsAsync, UpdateDocumentAsync, CloseDocumentAsync, and the events
DiagnosticsPublished, ServerExited and LogMessage.
Full guide: docs/10-dotnet.md. License: GPL-3.0-or-later.
| 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. |
-
net10.0
- XxmiLang.Core (>= 0.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.