This commit is contained in:
2026-08-04 14:28:26 +02:00
parent 44b2eaf273
commit 6794896ac7
37 changed files with 3263 additions and 195 deletions
+6
View File
@@ -1,6 +1,7 @@
import * as vscode from "vscode";
import { parseXml } from "../language/xmlParser";
import { buildSemanticTokenRanges } from "../language/semanticTokens";
import type { ModWorkspace } from "../workspace";
const TOKEN_TYPES = ["type", "property", "string"] as const;
@@ -20,10 +21,15 @@ export const RA3_SEMANTIC_TOKENS_LEGEND = new vscode.SemanticTokensLegend([
export class Ra3SemanticTokensProvider
implements vscode.DocumentSemanticTokensProvider
{
constructor(private ws: ModWorkspace) {}
async provideDocumentSemanticTokens(
document: vscode.TextDocument,
_token: vscode.CancellationToken,
): Promise<vscode.SemanticTokens> {
if (!this.ws.isRa3Workspace()) {
return new vscode.SemanticTokens(new Uint32Array(0));
}
const text = document.getText();
const doc = parseXml(text);
if (doc.errors.length === 0) {