diff --git a/.gitattributes b/.gitattributes index 13bc9c2..bba20df 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,10 @@ -# Set default behavior to automatically normalize line endings. +*.wit text eol=lf +*.snap text eol=lf +*.ts text eol=lf +*.json text eol=lf +*.mjs text eol=lf +Cargo.toml text eol=lf +README.md text eol=lf +LICENSE text eol=lf# Set default behavior to automatically normalize line endings. * text=auto diff --git a/package.json b/package.json index ce38644..4c92e51 100644 --- a/package.json +++ b/package.json @@ -181,6 +181,11 @@ "command": "wit-idl.extractCoreWasm", "title": "Extract Core Wasm", "category": "WIT" + }, + { + "command": "wit-idl.formatDocument", + "title": "Format Document", + "category": "WIT" } ], "submenus": [ @@ -196,6 +201,11 @@ "when": "resourceExtname == .wit", "group": "navigation" }, + { + "command": "wit-idl.formatDocument", + "when": "resourceExtname == .wit", + "group": "1_modification@10" + }, { "submenu": "wit-idl.generateBindings.submenu", "when": "resourceExtname == .wit || witIdl.isWasmComponent", @@ -289,6 +299,10 @@ { "command": "wit-idl.extractCoreWasm", "when": "witIdl.isWasmComponent" + }, + { + "command": "wit-idl.formatDocument", + "when": "editorLangId == wit" } ] }, @@ -301,6 +315,11 @@ { "command": "wit-idl.syntaxCheckWorkspace", "key": "shift+f7" + }, + { + "command": "wit-idl.formatDocument", + "key": "shift+alt+f", + "when": "editorTextFocus && editorLangId == wit" } ], "customEditors": [ diff --git a/scripts/format-test-wit-files.js b/scripts/format-test-wit-files.js new file mode 100644 index 0000000..3e3a4c1 --- /dev/null +++ b/scripts/format-test-wit-files.js @@ -0,0 +1,177 @@ +#!/usr/bin/env node +import fs from "node:fs"; +import path from "node:path"; + +function replaceAllSeq(line, replacements) { + let out = line; + for (const [re, repl] of replacements) out = out.replace(re, repl); + return out; +} +function ensureSemicolon(line) { + return line.replace(/\s*;\s*$/, ";"); +} +function collapseSpaces(line) { + return line.replace(/\s+/g, " "); +} + +function isOpeningBrace(line) { + return line.endsWith("{") && !line.includes("}"); +} + +function formatFunc(line) { + const replacements = [ + [/:func/, ": func"], + [/:\s*func/, ": func"], + [/func\s*\(/, "func("], + [/\)\s*->\s*/, ") -> "], + [/\)->\s*/, ") -> "], + [/\)->/, ") -> "], + [/,\s*/g, ", "], + [/:\s*/g, ": "], + ]; + return ensureSemicolon(replaceAllSeq(line, replacements)); +} +function formatPackage(line) { + return ensureSemicolon(collapseSpaces(line)); +} +function formatNamedBlock(line) { + return collapseSpaces(line).replace(/\s*{\s*$/, " {"); +} +function formatImportExport(line) { + const base = line.replace(/^(import|export)\s+/, "$1 "); + return base.includes(": func") || base.includes(":func") ? formatFunc(base) : ensureSemicolon(base); +} +function formatUse(line) { + const repl = [ + [/^use\s+/, "use "], + [/\s+as\s+/, " as "], + [/\s+from\s+/, " from "], + ]; + return ensureSemicolon(replaceAllSeq(line, repl)); +} +function formatTypeAlias(line) { + const repl = [ + [/^type\s+/, "type "], + [/\s*=\s*/, " = "], + ]; + return ensureSemicolon(replaceAllSeq(line, repl)); +} +function formatField(line) { + return replaceAllSeq(line, [ + [/::?/g, (m) => (m.endsWith(":") ? ": " : m)], + [/:\s*/g, ": "], + [/,\s*/g, ", "], + [/,\s*$/, ","], + ]); +} +function isTypeDecl(line) { + return /^(record|variant|enum|flags|resource)\s+/.test(line); +} +function isFuncDecl(line) { + if (line.startsWith("import ") || line.startsWith("export ")) return false; + return /^[a-zA-Z][\w-]*\s*:\s*func\b/.test(line) || /:\s*func\b/.test(line) || /->/.test(line); +} +function isFieldDecl(line) { + const t = line.trim(); + return /^[a-zA-Z][a-zA-Z0-9-]*\s*[:,(]/.test(t) || /^[a-zA-Z][a-zA-Z0-9-]*\s*,?\s*$/.test(t); +} + +function formatLine(line) { + if (line.startsWith("package ")) return formatPackage(line); + if (line.startsWith("interface ")) return formatNamedBlock(line); + if (line.startsWith("world ")) return formatNamedBlock(line); + if (isTypeDecl(line)) return formatNamedBlock(line); + if (line.startsWith("type ") && line.includes("=")) return formatTypeAlias(line); + if (isFuncDecl(line)) return formatFunc(line); + if (line.startsWith("import ") || line.startsWith("export ")) return formatImportExport(line); + if (line.startsWith("use ")) return formatUse(line); + if (isFieldDecl(line)) return formatField(line); + return line; +} + +function formatContent(content, tabSize = 2, insertSpaces = true) { + const indentUnit = insertSpaces ? " ".repeat(tabSize) : "\t"; + const lines = content.split(/\r?\n/); + const out = []; + let indentLevel = 0; + let inMultiLineTupleAlias = false; + let aliasGenericDepth = 0; + let inFuncParams = false; + for (let i = 0; i < lines.length; i++) { + const raw = lines[i]; + const trimmed = raw.trim(); + if (trimmed === "") { + out.push(""); + continue; + } + if (/^\}/.test(trimmed)) indentLevel = Math.max(0, indentLevel - 1); + if (/^\/\//.test(trimmed)) { + const extra = inMultiLineTupleAlias && aliasGenericDepth > 0 && !/^>>/.test(trimmed) ? 1 : 0; + out.push(indentUnit.repeat(indentLevel + extra) + trimmed); + continue; + } + const formattedLine = formatLine(trimmed); + const needsTupleExtra = inMultiLineTupleAlias && aliasGenericDepth > 0 && !/^>>/.test(trimmed); + const needsFuncParamExtra = inFuncParams && !/^\)/.test(trimmed); + out.push( + indentUnit.repeat(indentLevel + (needsTupleExtra ? 1 : 0) + (needsFuncParamExtra ? 1 : 0)) + formattedLine + ); + if (isOpeningBrace(trimmed)) indentLevel++; + if (!inFuncParams && /func\($/.test(trimmed)) { + let lookahead = i + 1; + let activate = true; + while (lookahead < lines.length) { + const laTrim = lines[lookahead].trim(); + if (laTrim === "") { + lookahead++; + continue; + } + if (/^\/\//.test(laTrim)) { + activate = false; + } + break; + } + if (activate) inFuncParams = true; + } else if (inFuncParams && /^\)/.test(trimmed)) { + inFuncParams = false; + } + if (!inMultiLineTupleAlias && /^type\s+[^=]+=.*tuple<\s*$/.test(trimmed)) { + inMultiLineTupleAlias = true; + aliasGenericDepth = (trimmed.match(//g) || []).length; + } else if (inMultiLineTupleAlias) { + const opens = (trimmed.match(//g) || []).length; + aliasGenericDepth += opens - closes; + if (aliasGenericDepth <= 0) inMultiLineTupleAlias = false; + } + } + return out.join("\n"); +} + +function walk(dir, acc) { + for (const entry of fs.readdirSync(dir)) { + const full = path.join(dir, entry); + const stat = fs.statSync(full); + if (stat.isDirectory()) walk(full, acc); + else if (entry.endsWith(".wit")) acc.push(full); + } + return acc; +} + +const root = path.resolve("tests"); +if (!fs.existsSync(root)) { + console.error("tests directory not found"); + process.exit(1); +} +const files = walk(root, []); +let changed = 0; +for (const f of files) { + const original = fs.readFileSync(f, "utf8"); + const formatted = formatContent(original); + if (formatted !== original) { + fs.writeFileSync(f, formatted, "utf8"); + changed++; + console.log("Formatted", path.relative(process.cwd(), f)); + } +} +console.log(`Processed ${files.length} .wit files. Changed ${changed}.`); diff --git a/src/extension.ts b/src/extension.ts index aabf768..2a070ee 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -2,6 +2,7 @@ import * as vscode from "vscode"; import * as path from "node:path"; import * as fs from "node:fs"; import { WitSyntaxValidator } from "./validator.js"; +import { WitFormatter } from "./formatter.js"; import { isWasmComponentFile } from "./wasmDetection.js"; import { getWitBindgenVersionFromWasm, @@ -10,8 +11,6 @@ import { extractCoreWasmFromComponent, } from "./wasmUtils.js"; -// Removed: openExtractedWitDocument - we now render a readonly view in a custom editor - class WitExtractContentProvider implements vscode.TextDocumentContentProvider, vscode.Disposable { private readonly _onDidChangeEmitter = new vscode.EventEmitter(); private readonly _watchers = new Map(); @@ -27,7 +26,6 @@ class WitExtractContentProvider implements vscode.TextDocumentContentProvider, v } private getSourceFileUri(virtualUri: vscode.Uri): vscode.Uri { - // We reuse the original file path encoded in the URI path return virtualUri.with({ scheme: "file" }); } @@ -94,7 +92,6 @@ class WasmToWitOpenRedirectProvider implements vscode.CustomReadonlyEditorProvid async openCustomDocument(uri: vscode.Uri): Promise { let isComponent: boolean | undefined; try { - // Do the quick header check here to avoid spinning up a webview for non-components isComponent = await isWasmComponentFile(uri.fsPath); } catch { isComponent = undefined; @@ -113,14 +110,12 @@ class WasmToWitOpenRedirectProvider implements vscode.CustomReadonlyEditorProvid webviewPanel: vscode.WebviewPanel ): Promise { const filePath: string = document.uri.fsPath; - // Only handle component files; otherwise fall back to default editor if (document.isComponent === false) { await vscode.commands.executeCommand("vscode.openWith", document.uri, "default"); webviewPanel.dispose(); return; } if (document.isComponent !== true) { - // Unknown => best-effort re-check try { const headerIsComponent = await isWasmComponentFile(filePath); if (!headerIsComponent) { @@ -135,7 +130,6 @@ class WasmToWitOpenRedirectProvider implements vscode.CustomReadonlyEditorProvid } } - // Open a virtual readonly document using the built-in editor with WIT language features const witUri = document.uri.with({ scheme: "wit-extract" }); const doc = await vscode.workspace.openTextDocument(witUri); if (doc.languageId !== "wit") { @@ -199,15 +193,12 @@ const staticCompletions = new vscode.CompletionList( export function activate(context: vscode.ExtensionContext) { const validator = new WitSyntaxValidator(); - // Register provider for virtual extracted WIT documents const witExtractProvider = new WitExtractContentProvider(); const providerDisposable = vscode.workspace.registerTextDocumentContentProvider("wit-extract", witExtractProvider); const componentDecoProvider = new ComponentDecorationProvider(); context.subscriptions.push(vscode.window.registerFileDecorationProvider(componentDecoProvider)); - // Kick an initial refresh so Explorer asks for decorations immediately componentDecoProvider.refresh(); - // Watch for .wasm file changes to keep decorations fresh const wasmWatcher = vscode.workspace.createFileSystemWatcher("**/*.wasm"); const onCreate = wasmWatcher.onDidCreate((uri) => componentDecoProvider.refresh(uri)); const onChange = wasmWatcher.onDidChange((uri) => componentDecoProvider.refresh(uri)); @@ -215,16 +206,12 @@ export function activate(context: vscode.ExtensionContext) { const onWorkspaceFolders = vscode.workspace.onDidChangeWorkspaceFolders(() => componentDecoProvider.refresh()); context.subscriptions.push(wasmWatcher, onCreate, onChange, onDelete, onWorkspaceFolders); - // Set default context for wasm component presence void vscode.commands.executeCommand("setContext", "witIdl.isWasmComponent", false); - // Helper: check if a wasm file is a component (reusable util) const isWasmComponent = async (filePath: string): Promise => isWasmComponentFile(filePath); - // Helper: case-insensitive check for .wasm extension (type guard) const isWasmPath = (filePath: string | undefined): filePath is string => !!filePath && filePath.toLowerCase().endsWith(".wasm"); - // Helper: update the context key based on the current active editor's file const updateWasmComponentContext = async (uri: vscode.Uri | undefined): Promise => { const filePath: string | undefined = uri?.fsPath; if (!isWasmPath(filePath)) { @@ -235,13 +222,7 @@ export function activate(context: vscode.ExtensionContext) { await vscode.commands.executeCommand("setContext", "witIdl.isWasmComponent", isComp); }; - // (helper is defined at module scope) - - // Note: opening behavior is handled by the custom editor provider below. - - // Update context at activation for the current editor void updateWasmComponentContext(vscode.window.activeTextEditor?.document.uri); - // Also when the window gains focus const onWindowFocus = vscode.window.onDidChangeWindowState(async (state) => { if (state.focused) { const editor = vscode.window.activeTextEditor; @@ -251,7 +232,6 @@ export function activate(context: vscode.ExtensionContext) { } }); - // React to editor changes and document events for .wasm files const onActiveEditorChange = vscode.window.onDidChangeActiveTextEditor(async (editor) => { if (editor && isWasmPath(editor.document.uri.fsPath)) { await updateWasmComponentContext(editor.document.uri); @@ -319,7 +299,32 @@ export function activate(context: vscode.ExtensionContext) { } }); - // Implement extractWit command + const witFormatter = new WitFormatter(); + const formattingProvider = vscode.languages.registerDocumentFormattingEditProvider("wit", witFormatter); + + const formatDocumentCommand = vscode.commands.registerCommand("wit-idl.formatDocument", async () => { + const activeEditor = vscode.window.activeTextEditor; + + if (!activeEditor) { + vscode.window.showWarningMessage("No active editor found"); + return; + } + + if (activeEditor.document.languageId !== "wit") { + vscode.window.showWarningMessage("Active file is not a WIT file"); + return; + } + + try { + await vscode.commands.executeCommand("editor.action.formatDocument"); + } catch (error) { + console.error("Failed to format document:", error); + vscode.window.showErrorMessage( + `Failed to format document: ${error instanceof Error ? error.message : String(error)}` + ); + } + }); + const extractWitCommand = vscode.commands.registerCommand("wit-idl.extractWit", async (resource?: vscode.Uri) => { try { const targetUri: vscode.Uri | undefined = resource ?? vscode.window.activeTextEditor?.document.uri; @@ -374,7 +379,6 @@ export function activate(context: vscode.ExtensionContext) { } }); - // Implement extractCoreWasm command const extractCoreWasmCommand = vscode.commands.registerCommand( "wit-idl.extractCoreWasm", async (resource?: vscode.Uri) => { @@ -397,7 +401,6 @@ export function activate(context: vscode.ExtensionContext) { return; } - // Extract using embedded wasm-utils (no external CLI dependency) const bytes = await vscode.workspace.fs.readFile(targetUri); const fileMap = await extractCoreWasmFromComponent(bytes); const entries = Object.entries(fileMap).sort(([a], [b]) => @@ -425,7 +428,6 @@ export function activate(context: vscode.ExtensionContext) { } } - // Now we know which core module is selected, propose a default filename that includes it const baseName: string = path.basename(filePath, ".wasm"); const defaultFileName: string = `${baseName}.${chosenName}`; // e.g., mycomp.core0.wasm const defaultDir: string = path.dirname(filePath); @@ -438,7 +440,6 @@ export function activate(context: vscode.ExtensionContext) { return; } - // Write selected core wasm to the chosen path const data = chosenContent; // already Uint8Array try { await vscode.workspace.fs.stat(saveUri); @@ -452,7 +453,7 @@ export function activate(context: vscode.ExtensionContext) { return; } } catch { - // stat throws if file doesn't exist; continue + // ignored: file does not exist } await vscode.workspace.fs.writeFile(saveUri, data); @@ -473,18 +474,11 @@ export function activate(context: vscode.ExtensionContext) { } ); - /** - * Create a binding generation command for a specific language - * @param language - The target language for bindings - * @param languageLabel - The display label for the language - * @returns The command registration - */ const createGenerateBindingsCommand = (language: string, languageLabel: string) => { return vscode.commands.registerCommand( `wit-idl.generateBindings${languageLabel}`, async (resource?: vscode.Uri) => { try { - // Determine source: explicit resource (from explorer), active editor, or bail const active = vscode.window.activeTextEditor; const targetUri: vscode.Uri | undefined = resource ?? active?.document.uri; if (!targetUri) { @@ -492,7 +486,6 @@ export function activate(context: vscode.ExtensionContext) { return; } - // Prepare WIT content and a document for diagnostics let witContent: string; let diagDoc: vscode.TextDocument | undefined; @@ -508,7 +501,6 @@ export function activate(context: vscode.ExtensionContext) { return; } } else if (targetUri.fsPath.toLowerCase().endsWith(".wasm")) { - // Only proceed for components const comp = await isWasmComponentFile(targetUri.fsPath); if (!comp) { vscode.window.showWarningMessage("The selected .wasm is not a WebAssembly component."); @@ -521,7 +513,6 @@ export function activate(context: vscode.ExtensionContext) { return; } witContent = extracted; - // Write to a temp .wit file for better diagnostics anchoring const os = await import("os"); const tmpDir = os.tmpdir(); const base = path.basename(targetUri.fsPath, ".wasm"); @@ -533,7 +524,6 @@ export function activate(context: vscode.ExtensionContext) { return; } - // Optional: world selection placeholder (not yet used) const worldMatch = witContent.match(/world\s+([a-zA-Z][a-zA-Z0-9-_]*)/g); let selectedWorld: string | undefined; @@ -557,12 +547,10 @@ export function activate(context: vscode.ExtensionContext) { const bindingFiles = await generateBindingsFromWasm(witContent, language, selectedWorld); - // Check if generation failed or returned error files const fileEntries = Object.entries(bindingFiles); const errorFile = fileEntries.find(([filename]) => filename === "error.txt"); if (errorFile) { - // There's an explicit error file - parse and report error to problems pane const errorMessage = errorFile[1]; const docPath = diagDoc?.uri.fsPath ?? targetUri.fsPath; const parsedError = validator.parseWitBindgenError(errorMessage, docPath); @@ -571,7 +559,6 @@ export function activate(context: vscode.ExtensionContext) { const diagnostic = validator.createDiagnosticFromError(parsedError, diagDoc); validator.getDiagnosticCollection().set(diagDoc.uri, [diagnostic]); } else { - // Fallback if parsing fails const cleanMessage = errorMessage.replace(/^\/\/\s*/, "").replace(/\n\/\/\s*/g, "\n"); const diagnostic = new vscode.Diagnostic( new vscode.Range(0, 0, 0, 1), @@ -587,7 +574,6 @@ export function activate(context: vscode.ExtensionContext) { } if (fileEntries.length === 0) { - // No files generated and no explicit error - parse and report to problems pane const errorMessage = "No files were generated. This may be due to invalid WIT syntax or unsupported features."; const docPath = diagDoc?.uri.fsPath ?? targetUri.fsPath; @@ -597,7 +583,6 @@ export function activate(context: vscode.ExtensionContext) { const diagnostic = validator.createDiagnosticFromError(parsedError, diagDoc); validator.getDiagnosticCollection().set(diagDoc.uri, [diagnostic]); } else { - // Fallback if parsing fails const diagnostic = new vscode.Diagnostic( new vscode.Range(0, 0, 0, 1), `Failed to generate ${languageLabel} bindings: ${errorMessage}`, @@ -611,7 +596,6 @@ export function activate(context: vscode.ExtensionContext) { return; } - // Clear any existing binding generation errors since we're about to succeed if (diagDoc) { const existingDiagnostics = validator.getDiagnosticCollection().get(diagDoc.uri) || []; const filteredDiagnostics = existingDiagnostics.filter((d) => d.source !== "wit-bindgen"); @@ -648,7 +632,6 @@ export function activate(context: vscode.ExtensionContext) { } } catch (error) { console.error("Failed to generate bindings:", error); - // Parse and report error to problems pane instead of dialog const errorMessage = error instanceof Error ? error.message : String(error); const uriForDiag = (vscode.window.activeTextEditor?.document ?? undefined)?.uri; const docPath = uriForDiag?.fsPath ?? ""; @@ -663,7 +646,6 @@ export function activate(context: vscode.ExtensionContext) { .getDiagnosticCollection() .set(vscode.window.activeTextEditor.document.uri, [diagnostic]); } else { - // Fallback if parsing fails const diagnostic = new vscode.Diagnostic( new vscode.Range(0, 0, 0, 1), `Failed to generate bindings: ${errorMessage}`, @@ -725,9 +707,11 @@ export function activate(context: vscode.ExtensionContext) { providerDisposable, witExtractProvider, provider, + formattingProvider, syntaxCheckCommand, syntaxCheckWorkspaceCommand, showVersionCommand, + formatDocumentCommand, extractWitCommand, extractCoreWasmCommand, generateRustBindingsCommand, @@ -747,6 +731,4 @@ export function activate(context: vscode.ExtensionContext) { ); } -export function deactivate() { - // Extension cleanup is handled by context.subscriptions -} +export function deactivate() {} diff --git a/src/formatter.ts b/src/formatter.ts new file mode 100644 index 0000000..7e264dd --- /dev/null +++ b/src/formatter.ts @@ -0,0 +1,179 @@ +import * as vscode from "vscode"; + +export class WitFormatter implements vscode.DocumentFormattingEditProvider { + private static replaceAll(line: string, replacements: Array<[RegExp, string]>): string { + let out = line; + for (const [pattern, repl] of replacements) { + out = out.replace(pattern, repl); + } + return out; + } + + private static ensureSemicolon(line: string): string { + return line.replace(/\s*;\s*$/, ";"); + } + + private static collapseSpaces(line: string): string { + return line.replace(/\s+/g, " "); + } + + public provideDocumentFormattingEdits( + document: vscode.TextDocument, + options: vscode.FormattingOptions + ): vscode.TextEdit[] { + const text = document.getText(); + const formatted = this.formatWitContent(text, options); + if (formatted === text) { + return []; + } + const fullRange = new vscode.Range(document.positionAt(0), document.positionAt(text.length)); + return [vscode.TextEdit.replace(fullRange, formatted)]; + } + + public formatWitContent(content: string, options: vscode.FormattingOptions): string { + const tabSize = options.tabSize ?? 2; + const insertSpaces = options.insertSpaces !== false; + const indentUnit = insertSpaces ? " ".repeat(tabSize) : "\t"; + const lines = content.split(/\r?\n/); + const out: string[] = []; + let indentLevel = 0; + let inMultiLineTupleAlias = false; + let aliasGenericDepth = 0; + let inFuncParams = false; + for (let i = 0; i < lines.length; i++) { + const raw = lines[i]; + const trimmed = raw.trim(); + if (trimmed === "") { + out.push(""); + continue; + } + if (/^\}/.test(trimmed)) { + indentLevel = Math.max(0, indentLevel - 1); + } + if (/^\/\//.test(trimmed)) { + const extra = inMultiLineTupleAlias && aliasGenericDepth > 0 && !/^>>/.test(trimmed) ? 1 : 0; + out.push(indentUnit.repeat(indentLevel + extra) + trimmed); + continue; + } + const formattedLine = this.formatLine(trimmed); + const needsTupleExtra = inMultiLineTupleAlias && aliasGenericDepth > 0 && !/^>>/.test(trimmed); + const needsFuncParamExtra = inFuncParams && !/^\)/.test(trimmed); + out.push( + indentUnit.repeat(indentLevel + (needsTupleExtra ? 1 : 0) + (needsFuncParamExtra ? 1 : 0)) + + formattedLine + ); + if (this.isOpeningBrace(trimmed)) { + indentLevel++; + } + if (!inFuncParams && /func\($/.test(trimmed)) { + let lookahead = i + 1; + let activate = true; + while (lookahead < lines.length) { + const laTrim = lines[lookahead].trim(); + if (laTrim === "") { + lookahead++; + continue; + } + if (/^\/\//.test(laTrim)) { + activate = false; + } + break; + } + if (activate) { + inFuncParams = true; + } + } else if (inFuncParams && /^\)/.test(trimmed)) { + inFuncParams = false; + } + if (!inMultiLineTupleAlias && /^type\s+[^=]+=.*tuple<\s*$/.test(trimmed)) { + inMultiLineTupleAlias = true; + aliasGenericDepth = (trimmed.match(//g) || []).length; + } else if (inMultiLineTupleAlias) { + const opens = (trimmed.match(//g) || []).length; + aliasGenericDepth += opens - closes; + if (aliasGenericDepth <= 0) { + inMultiLineTupleAlias = false; + } + } + } + return out.join("\n"); + } + + private isOpeningBrace(line: string): boolean { + return line.endsWith("{") && !line.includes("}"); + } + + private formatLine(line: string): string { + if (line.startsWith("package ")) return this.formatPackage(line); + if (line.startsWith("interface ")) return this.formatNamedBlock(line); + if (line.startsWith("world ")) return this.formatNamedBlock(line); + if (this.isTypeDecl(line)) return this.formatNamedBlock(line); + if (line.startsWith("type ") && line.includes("=")) return this.formatTypeAlias(line); + if (this.isFuncDecl(line)) return this.formatFunc(line); + if (line.startsWith("import ") || line.startsWith("export ")) return this.formatImportExport(line); + if (line.startsWith("use ")) return this.formatUse(line); + if (this.isFieldDecl(line)) return this.formatField(line); + return line; + } + + private isTypeDecl(line: string): boolean { + return /^(record|variant|enum|flags|resource)\s+/.test(line); + } + private isFuncDecl(line: string): boolean { + if (line.startsWith("import ") || line.startsWith("export ")) return false; + return /^[a-zA-Z][\w-]*\s*:\s*func\b/.test(line) || /:\s*func\b/.test(line) || /->/.test(line); + } + private isFieldDecl(line: string): boolean { + const t = line.trim(); + return /^[a-zA-Z][a-zA-Z0-9-]*\s*[:,(]/.test(t) || /^[a-zA-Z][a-zA-Z0-9-]*\s*,?\s*$/.test(t); + } + + private formatPackage(line: string): string { + return WitFormatter.ensureSemicolon(WitFormatter.collapseSpaces(line)); + } + private formatNamedBlock(line: string): string { + return WitFormatter.collapseSpaces(line).replace(/\s*{\s*$/, " {"); + } + private formatFunc(line: string): string { + const replacements: Array<[RegExp, string]> = [ + [/:func/, ": func"], + [/:\s*func/, ": func"], + [/func\s*\(/, "func("], + [/\)\s*->\s*/, ") -> "], + [/\)->\s*/, ") -> "], + [/\)->/, ") -> "], + [/,\s*/g, ", "], + [/:\s*/g, ": "], + ]; + return WitFormatter.ensureSemicolon(WitFormatter.replaceAll(line, replacements)); + } + private formatImportExport(line: string): string { + const base = line.replace(/^(import|export)\s+/, "$1 "); + if (base.includes(": func") || base.includes(":func")) return this.formatFunc(base); + return WitFormatter.ensureSemicolon(base); + } + private formatUse(line: string): string { + const replacements: Array<[RegExp, string]> = [ + [/^use\s+/, "use "], + [/\s+as\s+/, " as "], + [/\s+from\s+/, " from "], + ]; + return WitFormatter.ensureSemicolon(WitFormatter.replaceAll(line, replacements)); + } + private formatTypeAlias(line: string): string { + const replacements: Array<[RegExp, string]> = [ + [/^type\s+/, "type "], + [/\s*=\s*/, " = "], + ]; + return WitFormatter.ensureSemicolon(WitFormatter.replaceAll(line, replacements)); + } + private formatField(line: string): string { + const replacements: Array<[RegExp, string]> = [ + [/:\s*/g, ": "], + [/,\s*/g, ", "], + [/,\s*$/, ","], + ]; + return WitFormatter.replaceAll(line, replacements); + } +} diff --git a/tests/formatter-idempotent.test.ts b/tests/formatter-idempotent.test.ts new file mode 100644 index 0000000..4fab438 --- /dev/null +++ b/tests/formatter-idempotent.test.ts @@ -0,0 +1,42 @@ +import { describe, it, expect, vi, beforeAll } from "vitest"; +import * as fs from "fs"; +import * as path from "path"; +vi.mock("vscode", () => ({})); +let formatter: import("../src/formatter.js").WitFormatter; + +function collectWitFiles(dir: string, acc: string[] = []): string[] { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + collectWitFiles(full, acc); + } else if (entry.isFile() && entry.name.endsWith(".wit")) { + acc.push(full); + } + } + return acc; +} + +describe("WIT formatter idempotency", () => { + const testRoot = path.join(__dirname); + const witFiles = collectWitFiles(testRoot).sort(); + beforeAll(async () => { + const mod = await import("../src/formatter.js"); + formatter = new mod.WitFormatter(); + }); + + it("should find at least one .wit test file", () => { + expect(witFiles.length).toBeGreaterThan(0); + }); + + for (const file of witFiles) { + it(path.relative(testRoot, file), () => { + const original = fs.readFileSync(file, "utf8"); + const formatted = formatter.formatWitContent(original, { tabSize: 2, insertSpaces: true }); + const normalize = (s: string) => s.replace(/\r\n/g, "\n"); + const origHadFinalNewline = /\n$/.test(original); + const nOriginal = normalize(original).replace(/\n+$/g, "") + (origHadFinalNewline ? "\n" : ""); + const nFormatted = normalize(formatted).replace(/\n+$/g, "") + (origHadFinalNewline ? "\n" : ""); + expect(nFormatted).toBe(nOriginal); + }); + } +}); diff --git a/tests/formatter.test.ts b/tests/formatter.test.ts new file mode 100644 index 0000000..4775362 --- /dev/null +++ b/tests/formatter.test.ts @@ -0,0 +1,97 @@ +import { describe, it, expect, vi } from "vitest"; +import { WitFormatter } from "../src/formatter.js"; + +vi.mock("vscode", () => ({})); + +describe("WitFormatter", () => { + const formatter = new WitFormatter(); + const options: { insertSpaces: boolean; tabSize: number } = { insertSpaces: true, tabSize: 2 }; + + it("formats package declaration", () => { + const input = "package foo:bar ;"; + const expected = "package foo:bar;"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats interface block", () => { + const input = "package foo:bar;\n\ninterface test{\nf1:func();\nf2:func(a:u32);\nf3:func()->u32;\n}"; + const expected = + "package foo:bar;\n\ninterface test {\n f1: func();\n f2: func(a: u32);\n f3: func() -> u32;\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats world block", () => { + const input = "package foo:bar;\n\nworld test{\nimport test-interface;\nexport run:func();\n}"; + const expected = "package foo:bar;\n\nworld test {\n import test-interface;\n export run: func();\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats record definition", () => { + const input = + "package foo:bar;\n\ninterface test{\nrecord person{\nname:string,\nage:u32,\nactive:bool,\n}\n}"; + const expected = + "package foo:bar;\n\ninterface test {\n record person {\n name: string,\n age: u32,\n active: bool,\n }\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats complex function signature", () => { + const input = + "package foo:bar;\n\ninterface test{\ncomplex-func:func(a:u32,b:string,c:bool)->tuple;\n}"; + const expected = + "package foo:bar;\n\ninterface test {\n complex-func: func(a: u32, b: string, c: bool) -> tuple;\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("preserves comments", () => { + const input = + "package foo:bar;\n\n// This is a line comment\ninterface test{\n/// This is a doc comment\nf1:func();\n/* Block comment */\nf2:func();\n}"; + const expected = + "package foo:bar;\n\n// This is a line comment\ninterface test {\n /// This is a doc comment\n f1: func();\n /* Block comment */\n f2: func();\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats enum", () => { + const input = + "package foo:bar;\n\ninterface test{\nenum status{\npending,\nrunning,\ncompleted,\nfailed,\n}\n}"; + const expected = + "package foo:bar;\n\ninterface test {\n enum status {\n pending,\n running,\n completed,\n failed,\n }\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats type aliases", () => { + const input = "package foo:bar;\n\ninterface test{\ntype my-string=string;\ntype my-list=list;\n}"; + const expected = + "package foo:bar;\n\ninterface test {\n type my-string = string;\n type my-list = list;\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("formats use statements", () => { + const input = + "package foo:bar;\n\ninterface test{\nuse other:interface/types.{my-type};\nuse another as alias;\n}"; + const expected = + "package foo:bar;\n\ninterface test {\n use other:interface/types.{my-type};\n use another as alias;\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("handles empty document", () => { + expect(formatter.formatWitContent("", options)).toBe(""); + }); + + it("is idempotent on already formatted input", () => { + const input = + "package foo:bar;\n\ninterface test {\n f1: func();\n f2: func(a: u32) -> string;\n}\n\nworld test-world {\n import test;\n export test;\n}"; + expect(formatter.formatWitContent(input, options)).toBe(input); + }); + + it("tuple type alias multiline indentation", () => { + const input = "type load-store-all-sizes = future>;"; + const expected = "type load-store-all-sizes = future>;"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); + + it("function params multiline indentation", () => { + const input = "interface x {\n foo: func(\n a: u8,\n b: u16,\n );\n}"; + const expected = "interface x {\n foo: func(\n a: u8,\n b: u16,\n );\n}"; + expect(formatter.formatWitContent(input, options)).toBe(expected); + }); +}); diff --git a/tests/grammar/integration/allow-unused.wit b/tests/grammar/integration/allow-unused.wit index ebb7ac6..38a4fd0 100644 --- a/tests/grammar/integration/allow-unused.wit +++ b/tests/grammar/integration/allow-unused.wit @@ -1,18 +1,18 @@ package foo:bar; world bindings { - export component; + export component; } interface component { - variant unused-variant { - %enum(unused-enum), - %record(unused-record) - } - enum unused-enum { - unused - } - record unused-record { - x: u32 - } + variant unused-variant { + %enum(unused-enum), + %record(unused-record) + } + enum unused-enum { + unused + } + record unused-record { + x: u32 + } } diff --git a/tests/grammar/integration/allow-unused.wit.snap b/tests/grammar/integration/allow-unused.wit.snap index 45d5ca3..53f12a6 100644 --- a/tests/grammar/integration/allow-unused.wit.snap +++ b/tests/grammar/integration/allow-unused.wit.snap @@ -12,12 +12,12 @@ # ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> export component; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export component; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > @@ -27,60 +27,60 @@ # ^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> variant unused-variant { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit -> %enum(unused-enum), -#^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> %record(unused-record) -#^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -> } +> variant unused-variant { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit +> %enum(unused-enum), +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> %record(unused-record) #^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit -> enum unused-enum { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit keyword.other.enum.enum-items.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit -# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit -> unused -#^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -> } +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +> } +#^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit +> enum unused-enum { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit keyword.other.enum.enum-items.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit +# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit +> unused #^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit -> record unused-record { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> x: u32 -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +> } +#^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit +> record unused-record { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> x: u32 +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/enum-has-go-keyword.wit b/tests/grammar/integration/enum-has-go-keyword.wit index 3993651..ddc7930 100644 --- a/tests/grammar/integration/enum-has-go-keyword.wit +++ b/tests/grammar/integration/enum-has-go-keyword.wit @@ -1,19 +1,19 @@ package foo:foo; interface foo-bar { - record foo{ - something: string, - anything: string - } + record foo { + something: string, + anything: string + } - enum bar{ - anything, - %type - } + enum bar { + anything, + %type + } - fetch: func(x: foo, e: bar) -> string; + fetch: func(x: foo, e: bar) -> string; } world foo-world { - import foo-bar; -} \ No newline at end of file + import foo-bar; +} diff --git a/tests/grammar/integration/enum-has-go-keyword.wit.snap b/tests/grammar/integration/enum-has-go-keyword.wit.snap index 32561c2..8c7225c 100644 --- a/tests/grammar/integration/enum-has-go-keyword.wit.snap +++ b/tests/grammar/integration/enum-has-go-keyword.wit.snap @@ -12,70 +12,72 @@ # ^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record foo{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> something: string, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> anything: string -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> record foo { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> something: string, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> anything: string +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> enum bar{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit keyword.other.enum.enum-items.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit -# ^^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit -> anything, -#^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit -> %type -#^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit -# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -> } +> enum bar { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit keyword.other.enum.enum-items.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit +# ^^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit +> anything, #^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit +> %type +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit +# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +> } +#^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit > -> fetch: func(x: foo, e: bar) -> string; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> fetch: func(x: foo, e: bar) -> string; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -85,11 +87,12 @@ # ^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import foo-bar; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import foo-bar; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} -#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit \ No newline at end of file +#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit +> \ No newline at end of file diff --git a/tests/grammar/integration/fully-qualified-java-address.wit b/tests/grammar/integration/fully-qualified-java-address.wit index ec0abab..3b38d4d 100644 --- a/tests/grammar/integration/fully-qualified-java-address.wit +++ b/tests/grammar/integration/fully-qualified-java-address.wit @@ -1,14 +1,14 @@ package foo:bar; interface my-import { - record address { - field: u32, - attribute: bool, - } + record address { + field: u32, + attribute: bool, + } } world bindings { - import my-import; + import my-import; - export init: func(baz: string); + export init: func(baz: string); } diff --git a/tests/grammar/integration/fully-qualified-java-address.wit.snap b/tests/grammar/integration/fully-qualified-java-address.wit.snap index 1d5d813..793ffee 100644 --- a/tests/grammar/integration/fully-qualified-java-address.wit.snap +++ b/tests/grammar/integration/fully-qualified-java-address.wit.snap @@ -12,30 +12,30 @@ # ^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record address { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> field: u32, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +> record address { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> field: u32, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> attribute: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> attribute: bool, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -45,28 +45,28 @@ # ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import my-import; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import my-import; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit > -> export init: func(baz: string); -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit +> export init: func(baz: string); +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/go_params.wit b/tests/grammar/integration/go_params.wit index 8b81512..9941f4b 100644 --- a/tests/grammar/integration/go_params.wit +++ b/tests/grammar/integration/go_params.wit @@ -1,8 +1,8 @@ package foo:foo; world go-params { - import error-code: func(err: u32) -> option; - import error-code2: func(ret: u32) -> option; - import error-code3: func(err: u32, ret: option) -> result; - import error-code4: func() -> result; + import error-code: func(err: u32) -> option; + import error-code2: func(ret: u32) -> option; + import error-code3: func(err: u32, ret: option) -> result; + import error-code4: func() -> result; } diff --git a/tests/grammar/integration/go_params.wit.snap b/tests/grammar/integration/go_params.wit.snap index d26ca53..865a1ba 100644 --- a/tests/grammar/integration/go_params.wit.snap +++ b/tests/grammar/integration/go_params.wit.snap @@ -12,99 +12,99 @@ # ^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import error-code: func(err: u32) -> option; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit -> import error-code2: func(ret: u32) -> option; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit -> import error-code3: func(err: u32, ret: option) -> result; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit -> import error-code4: func() -> result; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit +> import error-code: func(err: u32) -> option; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit +> import error-code2: func(ret: u32) -> option; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit +> import error-code3: func(err: u32, ret: option) -> result; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit +> import error-code4: func() -> result; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/interface-has-go-keyword.wit b/tests/grammar/integration/interface-has-go-keyword.wit index 49a146a..e74995a 100644 --- a/tests/grammar/integration/interface-has-go-keyword.wit +++ b/tests/grammar/integration/interface-has-go-keyword.wit @@ -1,18 +1,18 @@ package foo:foo; interface %type { - record foo{ - something: string, - anything: string - } + record foo { + something: string, + anything: string + } - record bar{ - anything: u16 - } + record bar { + anything: u16 + } - fetch: func(x: foo) -> result; + fetch: func(x: foo) -> result; } world foo-world { - import %type; -} \ No newline at end of file + import %type; +} diff --git a/tests/grammar/integration/interface-has-go-keyword.wit.snap b/tests/grammar/integration/interface-has-go-keyword.wit.snap index 41e9332..0eca3b5 100644 --- a/tests/grammar/integration/interface-has-go-keyword.wit.snap +++ b/tests/grammar/integration/interface-has-go-keyword.wit.snap @@ -12,65 +12,67 @@ # ^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record foo{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> something: string, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> anything: string -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> record foo { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> something: string, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> anything: string +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> record bar{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> anything: u16 -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> record bar { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> anything: u16 +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> fetch: func(x: foo) -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> fetch: func(x: foo) -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -80,12 +82,13 @@ # ^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import %type; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import %type; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} -#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit \ No newline at end of file +#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit +> \ No newline at end of file diff --git a/tests/grammar/integration/issue544.wit b/tests/grammar/integration/issue544.wit index 1b4e428..288febf 100644 --- a/tests/grammar/integration/issue544.wit +++ b/tests/grammar/integration/issue544.wit @@ -2,16 +2,16 @@ package foo:foo; world issue { - variant variants { - list-u8(list), - list-tuple-bool(list>), - } + variant variants { + list-u8(list), + list-tuple-bool(list>), + } - record record-tuple-u8 { - field: tuple, - } + record record-tuple-u8 { + field: tuple, + } - import func-using-list-u8-in-args: func(body: list); - export func-using-list-tuple-bool-in-return: func() -> list>; - export func-using-tuple-u8-in-return: func() -> tuple; + import func-using-list-u8-in-args: func(body: list); + export func-using-list-tuple-bool-in-return: func() -> list>; + export func-using-tuple-u8-in-return: func() -> tuple; } diff --git a/tests/grammar/integration/issue544.wit.snap b/tests/grammar/integration/issue544.wit.snap index c0887cf..b638e5d 100644 --- a/tests/grammar/integration/issue544.wit.snap +++ b/tests/grammar/integration/issue544.wit.snap @@ -14,118 +14,118 @@ # ^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> variant variants { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.variant.wit keyword.other.variant.wit -# ^ source.wit meta.world-item.wit meta.variant.wit -# ^^^^^^^^ source.wit meta.world-item.wit meta.variant.wit entity.name.type.id.variant.wit -# ^ source.wit meta.world-item.wit meta.variant.wit -# ^ source.wit meta.world-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit -> list-u8(list), -#^^^^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> list-tuple-bool(list>), -#^^^^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.boolean.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> } +> variant variants { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.variant.wit keyword.other.variant.wit +# ^ source.wit meta.world-item.wit meta.variant.wit +# ^^^^^^^^ source.wit meta.world-item.wit meta.variant.wit entity.name.type.id.variant.wit +# ^ source.wit meta.world-item.wit meta.variant.wit +# ^ source.wit meta.world-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit +> list-u8(list), #^^^^ source.wit meta.world-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.variant.wit punctuation.brackets.curly.end.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> list-tuple-bool(list>), +#^^^^ source.wit meta.world-item.wit meta.variant.wit meta.whitespace.wit +# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.boolean.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> } +#^^ source.wit meta.world-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.variant.wit punctuation.brackets.curly.end.wit > -> record record-tuple-u8 { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit -# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> field: tuple, -#^^^^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> } +> record record-tuple-u8 { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit +# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> field: tuple, #^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> } +#^^ source.wit meta.world-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> import func-using-list-u8-in-args: func(body: list); -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit -> export func-using-list-tuple-bool-in-return: func() -> list>; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.boolean.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit -> export func-using-tuple-u8-in-return: func() -> tuple; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit +> import func-using-list-u8-in-args: func(body: list); +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit +> export func-using-list-tuple-bool-in-return: func() -> list>; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.boolean.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit +> export func-using-tuple-u8-in-return: func() -> tuple; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue551.wit b/tests/grammar/integration/issue551.wit index db7f0d9..4b05317 100644 --- a/tests/grammar/integration/issue551.wit +++ b/tests/grammar/integration/issue551.wit @@ -1,13 +1,13 @@ package foo:foo; world bindings { - import component; + import component; } interface component { - type value = list>; - type entity = list>; + type value = list>; + type entity = list>; - add-components: func(entity: u64, data: entity); - query-eval: func(q: u64) -> list>>; + add-components: func(entity: u64, data: entity); + query-eval: func(q: u64) -> list>>; } diff --git a/tests/grammar/integration/issue551.wit.snap b/tests/grammar/integration/issue551.wit.snap index 88ecc3b..62632dd 100644 --- a/tests/grammar/integration/issue551.wit.snap +++ b/tests/grammar/integration/issue551.wit.snap @@ -12,12 +12,12 @@ # ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import component; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import component; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > @@ -27,94 +27,94 @@ # ^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> type value = list>; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -> type entity = list>; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit +> type value = list>; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +> type entity = list>; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit > -> add-components: func(entity: u64, data: entity); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> add-components: func(entity: u64, data: entity); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> query-eval: func(q: u64) -> list>>; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> query-eval: func(q: u64) -> list>>; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue573.wit b/tests/grammar/integration/issue573.wit index 187cecc..17b3cad 100644 --- a/tests/grammar/integration/issue573.wit +++ b/tests/grammar/integration/issue573.wit @@ -80,36 +80,36 @@ interface api { } world types-example { - use types-interface.{t2 as t2-renamed, t10, permissions}; - - import api-imports; - import print: func(message: string, level: log-level); - /// Comment for import inline - import inline: interface { - /// Comment for import inline function - inline-imp: func(args: list>) -> result<_, char>; - } - - export types-interface; - export api; - - enum log-level { - /// lowest level - debug, - info, - warn, - error, - } - - // NB: this record used to be empty, but that's no longer valid, so now it's - // non-empty. Don't want to delete the whole test however. - record empty { - not-empty-anymore: bool, - } - - export f-f1: func(typedef: t10) -> t10; - export f1: func(f: f32, f-list: list>) -> tuple; - /// t2 has been renamed with `use self.types-interface.{t2 as t2-renamed}` - export re-named: func(perm: option, e: option) -> t2-renamed; - export re-named2: func(tup: tuple>, e: empty) -> tuple, s8>; + use types-interface.{t2 as t2-renamed, t10, permissions}; + + import api-imports; + import print: func(message: string, level: log-level); + /// Comment for import inline + import inline: interface { + /// Comment for import inline function + inline-imp: func(args: list>) -> result<_, char>; + } + + export types-interface; + export api; + + enum log-level { + /// lowest level + debug, + info, + warn, + error, + } + + // NB: this record used to be empty, but that's no longer valid, so now it's + // non-empty. Don't want to delete the whole test however. + record empty { + not-empty-anymore: bool, + } + + export f-f1: func(typedef: t10) -> t10; + export f1: func(f: f32, f-list: list>) -> tuple; + /// t2 has been renamed with `use self.types-interface.{t2 as t2-renamed}` + export re-named: func(perm: option, e: option) -> t2-renamed; + export re-named2: func(tup: tuple>, e: empty) -> tuple, s8>; } diff --git a/tests/grammar/integration/issue573.wit.snap b/tests/grammar/integration/issue573.wit.snap index b1e99ea..ef1c8ad 100644 --- a/tests/grammar/integration/issue573.wit.snap +++ b/tests/grammar/integration/issue573.wit.snap @@ -579,304 +579,304 @@ # ^^^^^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> use types-interface.{t2 as t2-renamed, t10, permissions}; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit -# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit -# ^^^^^^^^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit -# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.world-item.wit +> use types-interface.{t2 as t2-renamed, t10, permissions}; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit +# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit +# ^^^^^^^^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit meta.whitespace.wit +# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.world-item.wit > -> import api-imports; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -> import print: func(message: string, level: log-level); -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit -> /// Comment for import inline -#^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit -> import inline: interface { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.other.interface.interface-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit ppunctuation.brackets.curly.begin.wit -> /// Comment for import inline function -#^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit comment.line.documentation.wit -> inline-imp: func(args: list>) -> result<_, char>; -#^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> } +> import api-imports; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import print: func(message: string, level: log-level); +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.function.wit +> /// Comment for import inline +#^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit +> import inline: interface { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.other.interface.interface-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit ppunctuation.brackets.curly.begin.wit +> /// Comment for import inline function +#^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit comment.line.documentation.wit +> inline-imp: func(args: list>) -> result<_, char>; #^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> } +#^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit > -> export types-interface; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -> export api; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export types-interface; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export api; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit > -> enum log-level { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.enum-items.wit keyword.other.enum.enum-items.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit -> /// lowest level -#^^^^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit comment.line.documentation.wit -> debug, -#^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit -> info, -#^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit -> warn, -#^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit -> error, -#^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit -> } +> enum log-level { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.enum-items.wit keyword.other.enum.enum-items.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit +> /// lowest level +#^^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.enum-items.wit comment.line.documentation.wit +> debug, +#^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit +> info, +#^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit +> warn, #^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit +# ^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit +> error, +#^^^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.comma.wit +> } +#^^ source.wit meta.world-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit > -> // NB: this record used to be empty, but that's no longer valid, so now it's -#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.double-slash.wit -> // non-empty. Don't want to delete the whole test however. -#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.double-slash.wit -> record empty { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> not-empty-anymore: bool, -#^^^^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> } +> // NB: this record used to be empty, but that's no longer valid, so now it's +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.double-slash.wit +> // non-empty. Don't want to delete the whole test however. +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.double-slash.wit +> record empty { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> not-empty-anymore: bool, #^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> } +#^^ source.wit meta.world-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> export f-f1: func(typedef: t10) -> t10; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit -> export f1: func(f: f32, f-list: list>) -> tuple; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +> export f-f1: func(typedef: t10) -> t10; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit # ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit # ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit # ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.string.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit -> /// t2 has been renamed with `use self.types-interface.{t2 as t2-renamed}` -#^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit markup.italic.markdown -> export re-named: func(perm: option, e: option) -> t2-renamed; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit -> export re-named2: func(tup: tuple>, e: empty) -> tuple, s8>; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit +> export f1: func(f: f32, f-list: list>) -> tuple; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.string.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit +> /// t2 has been renamed with `use self.types-interface.{t2 as t2-renamed}` +#^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit comment.line.documentation.wit markup.italic.markdown +> export re-named: func(perm: option, e: option) -> t2-renamed; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit +> export re-named2: func(tup: tuple>, e: empty) -> tuple, s8>; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue607.wit b/tests/grammar/integration/issue607.wit index 8764ad5..093027d 100644 --- a/tests/grammar/integration/issue607.wit +++ b/tests/grammar/integration/issue607.wit @@ -1,32 +1,32 @@ package local:demo; interface interface1 { - variant error { - some-error - } - record my-record { - some-field: u32 - } - my-func: func() -> result; - my-optional: func() -> option; - my-tuple: func() -> tuple; - my-list: func() -> list; + variant error { + some-error + } + record my-record { + some-field: u32 + } + my-func: func() -> result; + my-optional: func() -> option; + my-tuple: func() -> tuple; + my-list: func() -> list; } interface interface2 { - variant error { - other-error - } - record my-record { - other-field: u32 - } - my-func: func() -> result; - my-optional: func() -> option; - my-tuple: func() -> tuple; - my-list: func() -> list; + variant error { + other-error + } + record my-record { + other-field: u32 + } + my-func: func() -> result; + my-optional: func() -> option; + my-tuple: func() -> tuple; + my-list: func() -> list; } world my-world { - import interface1; - import interface2; + import interface1; + import interface2; } diff --git a/tests/grammar/integration/issue607.wit.snap b/tests/grammar/integration/issue607.wit.snap index 27a6fcb..e932cc0 100644 --- a/tests/grammar/integration/issue607.wit.snap +++ b/tests/grammar/integration/issue607.wit.snap @@ -12,113 +12,113 @@ # ^^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> variant error { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit -> some-error -#^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -> } +> variant error { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit +> some-error #^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit -> record my-record { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> some-field: u32 -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit -> my-func: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> my-optional: func() -> option; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> my-tuple: func() -> tuple; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> my-list: func() -> list; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit +> } +#^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit +> record my-record { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> some-field: u32 +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> my-func: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> my-optional: func() -> option; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> my-tuple: func() -> tuple; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> my-list: func() -> list; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -128,113 +128,113 @@ # ^^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> variant error { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit -> other-error -#^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -> } +> variant error { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit +> other-error #^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit -> record my-record { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> other-field: u32 -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit -> my-func: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> my-optional: func() -> option; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> my-tuple: func() -> tuple; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> my-list: func() -> list; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit +> } +#^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit +> record my-record { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> other-field: u32 +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> my-func: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> my-optional: func() -> option; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> my-tuple: func() -> tuple; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> my-list: func() -> list; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -244,18 +244,18 @@ # ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import interface1; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -> import interface2; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import interface1; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import interface2; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue929-no-export.wit b/tests/grammar/integration/issue929-no-export.wit index c3264dd..09e7075 100644 --- a/tests/grammar/integration/issue929-no-export.wit +++ b/tests/grammar/integration/issue929-no-export.wit @@ -1,14 +1,14 @@ package foo:bar1; interface f { - resource fd; + resource fd; } interface utils { - use f.{fd}; - my-func: func() -> own; + use f.{fd}; + my-func: func() -> own; } world test { - export utils; + export utils; } diff --git a/tests/grammar/integration/issue929-no-export.wit.snap b/tests/grammar/integration/issue929-no-export.wit.snap index f492e76..c2f67dc 100644 --- a/tests/grammar/integration/issue929-no-export.wit.snap +++ b/tests/grammar/integration/issue929-no-export.wit.snap @@ -12,12 +12,12 @@ # ^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> resource fd; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit -# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit +> resource fd; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit +# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -27,33 +27,33 @@ # ^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> use f.{fd}; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.interface-item.wit -> my-func: func() -> own; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> use f.{fd}; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.interface-item.wit +> my-func: func() -> own; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -63,12 +63,12 @@ # ^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> export utils; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export utils; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue929-no-import.wit b/tests/grammar/integration/issue929-no-import.wit index 2674c70..9bf0cee 100644 --- a/tests/grammar/integration/issue929-no-import.wit +++ b/tests/grammar/integration/issue929-no-import.wit @@ -1,15 +1,15 @@ package foo:bar2; interface f { - resource fd; + resource fd; } interface utils { - use f.{fd}; - my-func: func() -> own; + use f.{fd}; + my-func: func() -> own; } world test { - export f; - export utils; + export f; + export utils; } diff --git a/tests/grammar/integration/issue929-no-import.wit.snap b/tests/grammar/integration/issue929-no-import.wit.snap index afcf41d..b36ec5f 100644 --- a/tests/grammar/integration/issue929-no-import.wit.snap +++ b/tests/grammar/integration/issue929-no-import.wit.snap @@ -12,12 +12,12 @@ # ^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> resource fd; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit -# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit +> resource fd; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit +# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -27,33 +27,33 @@ # ^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> use f.{fd}; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.interface-item.wit -> my-func: func() -> own; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> use f.{fd}; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.interface-item.wit +> my-func: func() -> own; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -63,18 +63,18 @@ # ^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> export f; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -> export utils; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export f; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export utils; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue929-only-methods.wit b/tests/grammar/integration/issue929-only-methods.wit index 7b4e6f7..ce63714 100644 --- a/tests/grammar/integration/issue929-only-methods.wit +++ b/tests/grammar/integration/issue929-only-methods.wit @@ -1,19 +1,19 @@ package foo:bar3; interface f { - resource fd { - get-a: func() -> s32; - set-a: func(a: s32); - } + resource fd { + get-a: func() -> s32; + set-a: func(a: s32); + } } interface utils { - use f.{fd}; - my-func: func() -> own; + use f.{fd}; + my-func: func() -> own; } world test { - import f; - export f; - export utils; + import f; + export f; + export utils; } diff --git a/tests/grammar/integration/issue929-only-methods.wit.snap b/tests/grammar/integration/issue929-only-methods.wit.snap index 8bf03f7..ffa194d 100644 --- a/tests/grammar/integration/issue929-only-methods.wit.snap +++ b/tests/grammar/integration/issue929-only-methods.wit.snap @@ -12,46 +12,46 @@ # ^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> resource fd { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit -# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.begin.wit -> get-a: func() -> s32; -#^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> set-a: func(a: s32); -#^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit -> } +> resource fd { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit +# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.begin.wit +> get-a: func() -> s32; #^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.end.wit +# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> set-a: func(a: s32); +#^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit +> } +#^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -61,33 +61,33 @@ # ^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> use f.{fd}; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.interface-item.wit -> my-func: func() -> own; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> use f.{fd}; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.interface-item.wit +> my-func: func() -> own; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -97,24 +97,24 @@ # ^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import f; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -> export f; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -> export utils; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> import f; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> export f; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export utils; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/issue929.wit b/tests/grammar/integration/issue929.wit index 52861d2..1e065bb 100644 --- a/tests/grammar/integration/issue929.wit +++ b/tests/grammar/integration/issue929.wit @@ -1,16 +1,16 @@ package foo:bar4; interface f { - resource fd; + resource fd; } interface utils { - use f.{fd}; - my-func: func() -> own; + use f.{fd}; + my-func: func() -> own; } world test { - import f; - export f; - export utils; + import f; + export f; + export utils; } diff --git a/tests/grammar/integration/issue929.wit.snap b/tests/grammar/integration/issue929.wit.snap index f9e1811..0db4dff 100644 --- a/tests/grammar/integration/issue929.wit.snap +++ b/tests/grammar/integration/issue929.wit.snap @@ -12,12 +12,12 @@ # ^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> resource fd; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit -# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit +> resource fd; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit +# ^^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -27,33 +27,33 @@ # ^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> use f.{fd}; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.interface-item.wit -> my-func: func() -> own; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> use f.{fd}; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^^ source.wit meta.interface-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.interface-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.interface-item.wit +> my-func: func() -> own; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -63,24 +63,24 @@ # ^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import f; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -> export f; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -> export utils; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> import f; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> export f; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +> export utils; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/keywords.wit b/tests/grammar/integration/keywords.wit index 6cdf881..2823450 100644 --- a/tests/grammar/integration/keywords.wit +++ b/tests/grammar/integration/keywords.wit @@ -1,43 +1,43 @@ package foo:foo; interface keywords { - record for { - return: u32, - } - %type: func(%type: u32) -> tuple; - %variant: func(%enum: s32); - %interface: func(%interface: s32); - throw: func(throw: s32); - new: func(new: s32); - %package: func(%package: s32); - final: func(final: s32); - auto: func(auto: s32); - else: func(for: s32); - long: func(long: s32); - switch: func(switch: s32); - break: func(break: s32); - register: func(register: s32); - typedef: func(typedef: s32); - case: func(case: s32); - extern: func(extern: s32); - %char: func(%char: s32); - float: func(float: s32); - short: func(short: s32); - unsigned: func(unsigned: s32); - const: func(const: s32); - signed: func(signed: s32); - void: func(void: s32); - continue: func(continue: s32); - goto: func(goto: s32); - sizeof: func(sizeof: s32); - volatile: func(volatile: s32); - default: func(default: s32); - if: func(if: s32); - %static: func(%static: s32); - while: func(while: s32); - do: func(do: s32); - %int: func(%int: s32); - %struct: func(%struct: s32); + record for { + return: u32, + } + %type: func(%type: u32) -> tuple; + %variant: func(%enum: s32); + %interface: func(%interface: s32); + throw: func(throw: s32); + new: func(new: s32); + %package: func(%package: s32); + final: func(final: s32); + auto: func(auto: s32); + else: func(for: s32); + long: func(long: s32); + switch: func(switch: s32); + break: func(break: s32); + register: func(register: s32); + typedef: func(typedef: s32); + case: func(case: s32); + extern: func(extern: s32); + %char: func(%char: s32); + float: func(float: s32); + short: func(short: s32); + unsigned: func(unsigned: s32); + const: func(const: s32); + signed: func(signed: s32); + void: func(void: s32); + continue: func(continue: s32); + goto: func(goto: s32); + sizeof: func(sizeof: s32); + volatile: func(volatile: s32); + default: func(default: s32); + if: func(if: s32); + %static: func(%static: s32); + while: func(while: s32); + do: func(do: s32); + %int: func(%int: s32); + %struct: func(%struct: s32); } world the-world { diff --git a/tests/grammar/integration/keywords.wit.snap b/tests/grammar/integration/keywords.wit.snap index 08098ba..fe9ef70 100644 --- a/tests/grammar/integration/keywords.wit.snap +++ b/tests/grammar/integration/keywords.wit.snap @@ -12,491 +12,491 @@ # ^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record for { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> return: u32, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> } +> record for { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> return: u32, #^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit -> %type: func(%type: u32) -> tuple; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> %variant: func(%enum: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> %interface: func(%interface: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> throw: func(throw: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> new: func(new: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> %type: func(%type: u32) -> tuple; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> %package: func(%package: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> final: func(final: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> auto: func(auto: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> else: func(for: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> long: func(long: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> %variant: func(%enum: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> %interface: func(%interface: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> throw: func(throw: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> switch: func(switch: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> new: func(new: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> %package: func(%package: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> break: func(break: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> register: func(register: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> typedef: func(typedef: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit # ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> case: func(case: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> final: func(final: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> auto: func(auto: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> else: func(for: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> long: func(long: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> switch: func(switch: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> break: func(break: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> extern: func(extern: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> register: func(register: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> %char: func(%char: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> float: func(float: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> short: func(short: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> unsigned: func(unsigned: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> const: func(const: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> typedef: func(typedef: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> signed: func(signed: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> void: func(void: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> case: func(case: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> extern: func(extern: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> %char: func(%char: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> continue: func(continue: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> goto: func(goto: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +> float: func(float: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> sizeof: func(sizeof: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> short: func(short: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> unsigned: func(unsigned: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> volatile: func(volatile: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> default: func(default: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> if: func(if: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> const: func(const: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> signed: func(signed: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> void: func(void: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> %static: func(%static: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> continue: func(continue: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> while: func(while: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> do: func(do: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> goto: func(goto: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> %int: func(%int: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> sizeof: func(sizeof: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> %struct: func(%struct: s32); -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> volatile: func(volatile: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> default: func(default: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> if: func(if: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> %static: func(%static: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> while: func(while: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> do: func(do: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> %int: func(%int: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> %struct: func(%struct: s32); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/option-result.wit b/tests/grammar/integration/option-result.wit index c576601..b652095 100644 --- a/tests/grammar/integration/option-result.wit +++ b/tests/grammar/integration/option-result.wit @@ -31,35 +31,35 @@ interface option-result { type o6 = option>>; - o5-arg: func(x: o5); - o5-result: func() -> o5; + o5-arg: func(x: o5); + o5-result: func() -> o5; - o6-arg: func(x: o6); - o6-result: func() -> o6; + o6-arg: func(x: o6); + o6-result: func() -> o6; - r1-arg: func(x: r1); - r1-result: func() -> r1; + r1-arg: func(x: r1); + r1-result: func() -> r1; - r2-arg: func(x: r2); - r2-result: func() -> r2; + r2-arg: func(x: r2); + r2-result: func() -> r2; - r3-arg: func(x: r3); - r3-result: func() -> r3; + r3-arg: func(x: r3); + r3-result: func() -> r3; - r4-arg: func(x: r4); - r4-result: func() -> r4; + r4-arg: func(x: r4); + r4-result: func() -> r4; - r5-arg: func(x: r5); - r5-result: func() -> r5; + r5-arg: func(x: r5); + r5-result: func() -> r5; - r6-arg: func(x: r6); - r6-result: func() -> r6; + r6-arg: func(x: r6); + r6-result: func() -> r6; - r7-arg: func(x: r7); - r7-result: func() -> r7; + r7-arg: func(x: r7); + r7-result: func() -> r7; - multi: func(x: r7, y: r7) -> tuple; - multi-option: func(x: r7, y: r7) -> option>; + multi: func(x: r7, y: r7) -> tuple; + multi-option: func(x: r7, y: r7) -> option>; } world my-world { diff --git a/tests/grammar/integration/option-result.wit.snap b/tests/grammar/integration/option-result.wit.snap index 43055b8..3919542 100644 --- a/tests/grammar/integration/option-result.wit.snap +++ b/tests/grammar/integration/option-result.wit.snap @@ -275,288 +275,259 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit > > -> o5-arg: func(x: o5); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> o5-result: func() -> o5; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> -> o6-arg: func(x: o6); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> o6-result: func() -> o6; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> o5-arg: func(x: o5); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> o5-result: func() -> o5; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r1-arg: func(x: r1); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r1-result: func() -> r1; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> o6-arg: func(x: o6); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> o6-result: func() -> o6; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r2-arg: func(x: r2); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r2-result: func() -> r2; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> r1-arg: func(x: r1); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r1-result: func() -> r1; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r3-arg: func(x: r3); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r3-result: func() -> r3; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> r2-arg: func(x: r2); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r2-result: func() -> r2; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r4-arg: func(x: r4); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r4-result: func() -> r4; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> r3-arg: func(x: r3); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r3-result: func() -> r3; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r5-arg: func(x: r5); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r5-result: func() -> r5; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> r4-arg: func(x: r4); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r4-result: func() -> r4; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r6-arg: func(x: r6); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r6-result: func() -> r6; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> r5-arg: func(x: r5); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r5-result: func() -> r5; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> r7-arg: func(x: r7); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> r7-result: func() -> r7; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> r6-arg: func(x: r6); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r6-result: func() -> r6; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> multi: func(x: r7, y: r7) -> tuple; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> r7-arg: func(x: r7); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit @@ -565,61 +536,90 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> multi-option: func(x: r7, y: r7) -> option>; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> r7-result: func() -> r7; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> +> multi: func(x: r7, y: r7) -> tuple; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> multi-option: func(x: r7, y: r7) -> option>; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit b/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit index 23cef77..d34a661 100644 --- a/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit +++ b/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit @@ -1,18 +1,18 @@ package foo:foo; interface foo-bar { - record foo{ - %type: string, - anything: string - } + record foo { + %type: string, + anything: string + } - record bar{ - anything: u16 - } + record bar { + anything: u16 + } - fetch: func(x: foo) -> result; + fetch: func(x: foo) -> result; } world foo-world { - import foo-bar; -} \ No newline at end of file + import foo-bar; +} diff --git a/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit.snap b/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit.snap index 0b65fb1..948eef1 100644 --- a/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit.snap +++ b/tests/grammar/integration/record-has-go-keyword-and-used-in-fn.wit.snap @@ -12,66 +12,68 @@ # ^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record foo{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> %type: string, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +> record foo { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> anything: string -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> %type: string, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> anything: string +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> record bar{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> anything: u16 -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> record bar { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> anything: u16 +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> fetch: func(x: foo) -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> fetch: func(x: foo) -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -81,11 +83,12 @@ # ^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import foo-bar; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import foo-bar; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} -#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit \ No newline at end of file +#^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit +> \ No newline at end of file diff --git a/tests/grammar/integration/records.wit b/tests/grammar/integration/records.wit index 56789f0..eae2340 100644 --- a/tests/grammar/integration/records.wit +++ b/tests/grammar/integration/records.wit @@ -16,10 +16,10 @@ interface records { /// A record containing two scalar fields /// that both have the same type record scalars { - /// The first field, named a - a: u32, - /// The second field, named b - b: u32, + /// The first field, named a + a: u32, + /// The second field, named b + b: u32, } scalar-arg: func(x: scalars); @@ -28,26 +28,26 @@ interface records { /// A record that is really just flags /// All of the fields are bool record really-flags { - a: bool, - b: bool, - c: bool, - d: bool, - e: bool, - f: bool, - g: bool, - h: bool, - i: bool, + a: bool, + b: bool, + c: bool, + d: bool, + e: bool, + f: bool, + g: bool, + h: bool, + i: bool, } flags-arg: func(x: really-flags); flags-result: func() -> really-flags; record aggregates { - a: scalars, - b: u32, - c: empty, - d: string, - e: really-flags, + a: scalars, + b: u32, + c: empty, + d: string, + e: really-flags, } aggregate-arg: func(x: aggregates); diff --git a/tests/grammar/integration/records.wit.snap b/tests/grammar/integration/records.wit.snap index e151b4f..df65f81 100644 --- a/tests/grammar/integration/records.wit.snap +++ b/tests/grammar/integration/records.wit.snap @@ -121,26 +121,26 @@ # ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> /// The first field, named a -#^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit -> a: u32, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> /// The second field, named b -#^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit -# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit -> b: u32, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> /// The first field, named a +#^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit +> a: u32, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> /// The second field, named b +#^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit +# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit comment.line.documentation.wit +> b: u32, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit > } #^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit @@ -189,69 +189,69 @@ # ^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> a: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> b: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> c: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> d: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> e: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> f: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> g: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> h: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> i: bool, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> a: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> b: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> c: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> d: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> e: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> f: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> g: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> h: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> i: bool, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit > } #^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit @@ -294,41 +294,41 @@ # ^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> a: scalars, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> b: u32, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> c: empty, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.id.wit +> a: scalars, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.id.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> d: string, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> e: really-flags, -#^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> b: u32, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> c: empty, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> d: string, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> e: really-flags, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit > } #^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit diff --git a/tests/grammar/integration/resource-own-in-other-interface.wit b/tests/grammar/integration/resource-own-in-other-interface.wit index 5a016aa..630646b 100644 --- a/tests/grammar/integration/resource-own-in-other-interface.wit +++ b/tests/grammar/integration/resource-own-in-other-interface.wit @@ -1,13 +1,13 @@ package my:resources; interface e1 { - resource x { - fun: func() -> tuple; - } + resource x { + fun: func() -> tuple; + } } world resources { import e2: interface { use e1.{x}; use-res: func() -> x; -} + } } diff --git a/tests/grammar/integration/resource-own-in-other-interface.wit.snap b/tests/grammar/integration/resource-own-in-other-interface.wit.snap index 43a66d6..ab600af 100644 --- a/tests/grammar/integration/resource-own-in-other-interface.wit.snap +++ b/tests/grammar/integration/resource-own-in-other-interface.wit.snap @@ -11,32 +11,32 @@ # ^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> resource x { -#^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.begin.wit -> fun: func() -> tuple; +> resource x { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit keyword.other.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit entity.name.type.id.resource.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.begin.wit +> fun: func() -> tuple; +#^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> } #^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> } -#^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.interface-item.wit meta.resource-item.wit meta.resource-methods.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -81,8 +81,9 @@ # ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit # ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit ->} -#^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit +> } +#^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/result-empty.wit b/tests/grammar/integration/result-empty.wit index 217c012..0c8cde4 100644 --- a/tests/grammar/integration/result-empty.wit +++ b/tests/grammar/integration/result-empty.wit @@ -1,32 +1,32 @@ package local:demo; interface my-interface { - variant stuff { - this, - that - } + variant stuff { + this, + that + } - // NB: this record used to be empty, but that's no longer valid, so now it's - // non-empty. Don't want to delete the whole test however. - record empty { - not-empty-anymore: bool, - } + // NB: this record used to be empty, but that's no longer valid, so now it's + // non-empty. Don't want to delete the whole test however. + record empty { + not-empty-anymore: bool, + } - stuff-or-stuff: func() -> result; - stuff-or-empty: func() -> result; - empty-or-stuff: func() -> result; - empty-or-empty: func() -> result; + stuff-or-stuff: func() -> result; + stuff-or-empty: func() -> result; + empty-or-stuff: func() -> result; + empty-or-empty: func() -> result; - stuff-or-absent: func() -> result; - absent-or-stuff: func() -> result<_, stuff>; + stuff-or-absent: func() -> result; + absent-or-stuff: func() -> result<_, stuff>; - empty-or-absent: func() -> result; - absent-or-empty: func() -> result<_, empty>; + empty-or-absent: func() -> result; + absent-or-empty: func() -> result<_, empty>; - absent-or-absent: func() -> result; + absent-or-absent: func() -> result; } world my-world { - import my-interface; + import my-interface; } diff --git a/tests/grammar/integration/result-empty.wit.snap b/tests/grammar/integration/result-empty.wit.snap index 9993253..9a31759 100644 --- a/tests/grammar/integration/result-empty.wit.snap +++ b/tests/grammar/integration/result-empty.wit.snap @@ -12,118 +12,225 @@ # ^^^^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> variant stuff { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit -> this, -#^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.comma.wit -> that -#^^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -> } +> variant stuff { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.variant.wit keyword.other.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit +> this, #^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit +# ^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.comma.wit +> that +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit +> } +#^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit > -> // NB: this record used to be empty, but that's no longer valid, so now it's -#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit comment.line.double-slash.wit -> // non-empty. Don't want to delete the whole test however. -#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit comment.line.double-slash.wit -> record empty { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> not-empty-anymore: bool, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> } +> // NB: this record used to be empty, but that's no longer valid, so now it's +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit comment.line.double-slash.wit +> // non-empty. Don't want to delete the whole test however. +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit comment.line.double-slash.wit +> record empty { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> not-empty-anymore: bool, #^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> stuff-or-stuff: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> stuff-or-empty: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> empty-or-stuff: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> empty-or-empty: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> stuff-or-stuff: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> stuff-or-empty: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> empty-or-stuff: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> empty-or-empty: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> +> stuff-or-absent: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> absent-or-stuff: func() -> result<_, stuff>; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> +> empty-or-absent: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> absent-or-empty: func() -> result<_, empty>; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> +> absent-or-absent: func() -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit @@ -132,115 +239,8 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> -> stuff-or-absent: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> absent-or-stuff: func() -> result<_, stuff>; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> -> empty-or-absent: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> absent-or-empty: func() -> result<_, empty>; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit variable.other.inferred-type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> -> absent-or-absent: func() -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -251,12 +251,12 @@ # ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import my-interface; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import my-interface; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/ret-areas.wit b/tests/grammar/integration/ret-areas.wit index 8216442..49d0924 100644 --- a/tests/grammar/integration/ret-areas.wit +++ b/tests/grammar/integration/ret-areas.wit @@ -6,8 +6,8 @@ interface tcp { type ipv6-socket-address = tuple; connect: func( - local-address: ipv6-socket-address, - remote-address: ipv6-socket-address, + local-address: ipv6-socket-address, + remote-address: ipv6-socket-address, ) -> tuple; } diff --git a/tests/grammar/integration/ret-areas.wit.snap b/tests/grammar/integration/ret-areas.wit.snap index 0974d5a..61c0c02 100644 --- a/tests/grammar/integration/ret-areas.wit.snap +++ b/tests/grammar/integration/ret-areas.wit.snap @@ -63,20 +63,20 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -> local-address: ipv6-socket-address, -#^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -> remote-address: ipv6-socket-address, -#^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +> local-address: ipv6-socket-address, +#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +> remote-address: ipv6-socket-address, +#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit > ) -> tuple; #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit diff --git a/tests/grammar/integration/simple-enum.wit b/tests/grammar/integration/simple-enum.wit index 1883a04..9841064 100644 --- a/tests/grammar/integration/simple-enum.wit +++ b/tests/grammar/integration/simple-enum.wit @@ -2,14 +2,14 @@ package foo:foo; interface enums { enum e1 { - a, - b, - c + a, + b, + c } enum e2 { - something, - else + something, + else } e1-arg: func(x: e1); diff --git a/tests/grammar/integration/simple-enum.wit.snap b/tests/grammar/integration/simple-enum.wit.snap index 9047f41..02d2dc6 100644 --- a/tests/grammar/integration/simple-enum.wit.snap +++ b/tests/grammar/integration/simple-enum.wit.snap @@ -19,17 +19,17 @@ # ^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit -> a, -#^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit -> b, -#^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit -> c -#^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +> a, +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit +> b, +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit +> c +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit > } #^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit @@ -41,13 +41,13 @@ # ^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit -> something, -#^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit -> else -#^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +> something, +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit +> else +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit > } #^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit diff --git a/tests/grammar/integration/simple-http.wit b/tests/grammar/integration/simple-http.wit index 10b6acb..8ff4424 100644 --- a/tests/grammar/integration/simple-http.wit +++ b/tests/grammar/integration/simple-http.wit @@ -1,20 +1,20 @@ package foo:foo; interface http-fetch-imports { - record request{ - method: string, - uri: string, - body: string - } + record request { + method: string, + uri: string, + body: string + } - record response{ - status: u16, - body: string - } + record response { + status: u16, + body: string + } - fetch: func(req: request) -> result; + fetch: func(req: request) -> result; } world http-fetch-simple { - import http-fetch-imports; + import http-fetch-imports; } diff --git a/tests/grammar/integration/simple-http.wit.snap b/tests/grammar/integration/simple-http.wit.snap index eac5742..f2d9e06 100644 --- a/tests/grammar/integration/simple-http.wit.snap +++ b/tests/grammar/integration/simple-http.wit.snap @@ -12,79 +12,81 @@ # ^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record request{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> method: string, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> uri: string, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> body: string -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> record request { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> method: string, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> uri: string, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> body: string +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> record response{ -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> status: u16, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> body: string -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit -> } -#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +> record response { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> status: u16, +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> body: string +#^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit entity.name.type.string.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit > -> fetch: func(req: request) -> result; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> fetch: func(req: request) -> result; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -94,12 +96,12 @@ # ^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import http-fetch-imports; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import http-fetch-imports; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/simple-option.wit b/tests/grammar/integration/simple-option.wit index 75deb23..3c2cc78 100644 --- a/tests/grammar/integration/simple-option.wit +++ b/tests/grammar/integration/simple-option.wit @@ -20,20 +20,20 @@ interface option-simple { type o4 = option>; - oint-arg: func(x: option); - oint-result: func() -> option; + oint-arg: func(x: option); + oint-result: func() -> option; - o1-arg: func(x: o1); - o1-result: func() -> o1; + o1-arg: func(x: o1); + o1-result: func() -> o1; - o2-arg: func(x: o2); - o2-result: func() -> o2; + o2-arg: func(x: o2); + o2-result: func() -> o2; - o3-arg: func(x: o3); - o3-result: func() -> o3; + o3-arg: func(x: o3); + o3-result: func() -> o3; - o4-arg: func(x: o4); - o4-result: func() -> o4; + o4-arg: func(x: o4); + o4-result: func() -> o4; } world my-world { diff --git a/tests/grammar/integration/simple-option.wit.snap b/tests/grammar/integration/simple-option.wit.snap index 7c6c5d8..223482b 100644 --- a/tests/grammar/integration/simple-option.wit.snap +++ b/tests/grammar/integration/simple-option.wit.snap @@ -135,166 +135,166 @@ # ^ source.wit meta.interface-item.wit meta.type-item.wit > > -> oint-arg: func(x: option); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +> oint-arg: func(x: option); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> oint-result: func() -> option; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> +> o1-arg: func(x: o1); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> o1-result: func() -> o1; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit # ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> oint-result: func() -> option; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> -> o1-arg: func(x: o1); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> o1-result: func() -> o1; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> o2-arg: func(x: o2); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> o2-result: func() -> o2; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> o2-arg: func(x: o2); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> o2-result: func() -> o2; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> o3-arg: func(x: o3); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> o3-result: func() -> o3; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> o3-arg: func(x: o3); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> o3-result: func() -> o3; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit > -> o4-arg: func(x: o4); -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> o4-result: func() -> o4; -#^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> o4-arg: func(x: o4); +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit +> o4-result: func() -> o4; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/sized-lists.wit b/tests/grammar/integration/sized-lists.wit index 2303f3a..5a9cb28 100644 --- a/tests/grammar/integration/sized-lists.wit +++ b/tests/grammar/integration/sized-lists.wit @@ -3,12 +3,12 @@ package foo:foo; interface sized-lists { // Regular lists without size simple-list: func(l: list); - + // Sized lists with fixed length ipv4-address: func() -> list; ipv6-address: func() -> list; small-buffer: func(data: list) -> list; - + // Nested structures with sized lists complex-data: func() -> tuple, list>; record-with-sized-list: func() -> record-type; diff --git a/tests/grammar/integration/sized-lists.wit.snap b/tests/grammar/integration/sized-lists.wit.snap index c7bb0b2..967c7f8 100644 --- a/tests/grammar/integration/sized-lists.wit.snap +++ b/tests/grammar/integration/sized-lists.wit.snap @@ -32,7 +32,7 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit -> +> > // Sized lists with fixed length #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit comment.line.double-slash.wit > ipv4-address: func() -> list; @@ -108,7 +108,7 @@ # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit meta.list-size.wit constant.numeric.integer.list-size.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -> +> > // Nested structures with sized lists #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit comment.line.double-slash.wit > complex-data: func() -> tuple, list>; diff --git a/tests/grammar/integration/streams.wit b/tests/grammar/integration/streams.wit index cb25269..95a6114 100644 --- a/tests/grammar/integration/streams.wit +++ b/tests/grammar/integration/streams.wit @@ -10,10 +10,10 @@ interface transmit { write-future(string), } - exchange: func(control: stream, - caller-stream: stream, - caller-future1: future, - caller-future2: future) -> tuple, future, future>; + exchange: func(control: stream, + caller-stream: stream, + caller-future1: future, + caller-future2: future) -> tuple, future, future>; } interface streams { diff --git a/tests/grammar/integration/streams.wit.snap b/tests/grammar/integration/streams.wit.snap index 3c2305d..8dfb354 100644 --- a/tests/grammar/integration/streams.wit.snap +++ b/tests/grammar/integration/streams.wit.snap @@ -54,7 +54,7 @@ #^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit > -> exchange: func(control: stream, +> exchange: func(control: stream, #^^ source.wit meta.interface-item.wit meta.whitespace.wit # ^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit @@ -69,56 +69,57 @@ # ^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -> caller-stream: stream, -#^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -> caller-future1: future, -#^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit -> caller-future2: future) -> tuple, future, future>; -#^^^^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit -# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +> caller-stream: stream, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +> caller-future1: future, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit punctuation.comma.wit +> caller-future2: future) -> tuple, future, future>; +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.whitespace.wit +# ^^^^^^^^^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > diff --git a/tests/grammar/integration/unused-import.wit b/tests/grammar/integration/unused-import.wit index bd5e580..28809c5 100644 --- a/tests/grammar/integration/unused-import.wit +++ b/tests/grammar/integration/unused-import.wit @@ -1,19 +1,19 @@ package unused:%import; interface types { - record r { - a: list, - } + record r { + a: list, + } } world the-world { - import foo: interface { - use types.{r}; + import foo: interface { + use types.{r}; - foo: func(data: r); - } + foo: func(data: r); + } - export bar: interface { - use types.{r}; - } + export bar: interface { + use types.{r}; + } } diff --git a/tests/grammar/integration/unused-import.wit.snap b/tests/grammar/integration/unused-import.wit.snap index bb309f2..31bfc07 100644 --- a/tests/grammar/integration/unused-import.wit.snap +++ b/tests/grammar/integration/unused-import.wit.snap @@ -13,26 +13,26 @@ # ^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> record r { -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +> record r { +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit keyword.declaration.record.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit # ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit entity.name.type.id.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit -> a: list, -#^^^^^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit -> } +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.begin.wit +> a: list, #^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit variable.declaration.id.record-fields.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit meta.record-fields.wit punctuation.comma.wit +> } +#^^ source.wit meta.interface-item.wit meta.record-item.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.record-item.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -42,67 +42,67 @@ # ^^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import foo: interface { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.other.interface.interface-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit ppunctuation.brackets.curly.begin.wit -> use types.{r}; -#^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit +> import foo: interface { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.other.interface.interface-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit ppunctuation.brackets.curly.begin.wit +> use types.{r}; +#^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit > -> foo: func(data: r); -#^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit -> } +> foo: func(data: r); #^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit +# ^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.id.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.func-item.wit meta.function.wit +> } +#^^ source.wit meta.world-item.wit meta.import-item.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit punctuation.brackets.curly.end.wit > -> export bar: interface { -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.other.interface.interface-type.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit ppunctuation.brackets.curly.begin.wit -> use types.{r}; -#^^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit keyword.other.use.use-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit -# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit -> } +> export bar: interface { +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.control.export.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit variable.other.constant.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.id.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.export-item.wit keyword.other.interface.interface-type.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit ppunctuation.brackets.curly.begin.wit +> use types.{r}; #^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit -# ^ source.wit meta.world-item.wit meta.export-item.wit punctuation.brackets.curly.end.wit +# ^^^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit keyword.other.use.use-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit +# ^^^^^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit entity.name.namespace.id.use-path.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit keyword.operator.namespace-separator.use-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit punctuation.brackets.curly.begin.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit entity.name.type.declaration.use-names-item.use-item.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit meta.use-item.wit punctuation.brackets.curly.end.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit +> } +#^^ source.wit meta.world-item.wit meta.export-item.wit meta.whitespace.wit +# ^ source.wit meta.world-item.wit meta.export-item.wit punctuation.brackets.curly.end.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/variants.wit b/tests/grammar/integration/variants.wit index 00203b2..e547174 100644 --- a/tests/grammar/integration/variants.wit +++ b/tests/grammar/integration/variants.wit @@ -2,7 +2,7 @@ package foo:foo; interface variants { enum e1 { - a, + a, } e1-arg: func(x: e1); @@ -15,13 +15,13 @@ interface variants { } variant v1 { - a, - c(e1), - d(string), - e(empty), - f, - g(u32), - h(f32), + a, + c(e1), + d(string), + e(empty), + f, + g(u32), + h(f32), } v1-arg: func(x: v1); @@ -39,12 +39,12 @@ interface variants { g: option>, ); option-result: func() -> tuple< - option, - option>, - option, - option, - option, - option>, + option, + option>, + option, + option, + option, + option>, >; variant casts1 { @@ -85,12 +85,12 @@ interface variants { e: casts5, f: casts6, ) -> tuple< - casts1, - casts2, - casts3, - casts4, - casts5, - casts6, + casts1, + casts2, + casts3, + casts4, + casts5, + casts6, >; result-arg: func( @@ -102,12 +102,12 @@ interface variants { f: result>, ); result-result: func() -> tuple< - result, - result<_, e1>, - result, - result, tuple>, - result, - result>, + result, + result<_, e1>, + result, + result, tuple>, + result, + result>, >; enum my-errno { diff --git a/tests/grammar/integration/variants.wit.snap b/tests/grammar/integration/variants.wit.snap index 9ce332c..e1a0ae7 100644 --- a/tests/grammar/integration/variants.wit.snap +++ b/tests/grammar/integration/variants.wit.snap @@ -19,10 +19,10 @@ # ^^ source.wit meta.interface-item.wit meta.enum-items.wit entity.name.type.id.enum-items.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.begin.wit -> a, -#^^^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit +> a, +#^^^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.comma.wit > } #^^ source.wit meta.interface-item.wit meta.enum-items.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.enum-items.wit punctuation.brackets.curly.end.wit @@ -87,49 +87,49 @@ # ^^ source.wit meta.interface-item.wit meta.variant.wit entity.name.type.id.variant.wit # ^ source.wit meta.interface-item.wit meta.variant.wit # ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.begin.wit -> a, -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.comma.wit -> c(e1), -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> d(string), -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> e(empty), -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> f, -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.comma.wit -> g(u32), -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit -> h(f32), -#^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit -# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit +> a, +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.comma.wit +> c(e1), +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> d(string), +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> e(empty), +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit # ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit # ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> f, +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit variable.other.enummember.id.enum-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.comma.wit +> g(u32), +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit +> h(f32), +#^^^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit variable.other.enummember.id.variant-cases.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.variant.wit meta.variant-cases.wit punctuation.comma.wit > } #^^ source.wit meta.interface-item.wit meta.variant.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.variant.wit punctuation.brackets.curly.end.wit @@ -290,54 +290,54 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -> option, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> option>, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> option, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> option, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.id.wit +> option, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.boolean.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> option, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> option>, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.boolean.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> option>, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> option, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> option, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> option, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> option>, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.option.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit entity.name.type.boolean.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.option.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > >; #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit @@ -562,30 +562,30 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -> casts1, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> casts2, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> casts3, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> casts4, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> casts5, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> casts6, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> casts1, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> casts2, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> casts3, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> casts4, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> casts5, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> casts6, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > >; #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit @@ -697,66 +697,66 @@ # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit # ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.tuple.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -> result, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> result<_, e1>, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit variable.other.inferred-type.result.wit +> result, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> result<_, e1>, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit variable.other.inferred-type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> result, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> result, tuple>, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> result, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.numeric.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit # ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> result, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> result, tuple>, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> result, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit -> result>, -#^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit +> result>, +#^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.result.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.comma.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.result.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.comma.wit > >; #^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit meta.whitespace.wit # ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit diff --git a/tests/grammar/integration/world-has-go-keyword.wit b/tests/grammar/integration/world-has-go-keyword.wit index 7198671..7509392 100644 --- a/tests/grammar/integration/world-has-go-keyword.wit +++ b/tests/grammar/integration/world-has-go-keyword.wit @@ -1,9 +1,9 @@ package foo:foo; interface foo-bar { - hello: func() -> string; + hello: func() -> string; } world %type { - import foo-bar; + import foo-bar; } diff --git a/tests/grammar/integration/world-has-go-keyword.wit.snap b/tests/grammar/integration/world-has-go-keyword.wit.snap index f59b16b..e6d4cdd 100644 --- a/tests/grammar/integration/world-has-go-keyword.wit.snap +++ b/tests/grammar/integration/world-has-go-keyword.wit.snap @@ -12,19 +12,19 @@ # ^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> hello: func() -> string; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> hello: func() -> string; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit entity.name.type.string.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > @@ -34,12 +34,12 @@ # ^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import foo-bar; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import foo-bar; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/integration/zero-size-tuple.wit b/tests/grammar/integration/zero-size-tuple.wit index 83005b0..b82d209 100644 --- a/tests/grammar/integration/zero-size-tuple.wit +++ b/tests/grammar/integration/zero-size-tuple.wit @@ -1,10 +1,10 @@ package foo:foo; world bindings { - import component; + import component; } interface component { - type value = tuple; - query-eval: func(q: u64) -> list; + type value = tuple; + query-eval: func(q: u64) -> list; } diff --git a/tests/grammar/integration/zero-size-tuple.wit.snap b/tests/grammar/integration/zero-size-tuple.wit.snap index 1753f78..866468a 100644 --- a/tests/grammar/integration/zero-size-tuple.wit.snap +++ b/tests/grammar/integration/zero-size-tuple.wit.snap @@ -12,12 +12,12 @@ # ^^^^^^^^ source.wit meta.world-item.wit entity.name.type.id.world-item.wit # ^ source.wit meta.world-item.wit # ^ source.wit meta.world-item.wit punctuation.brackets.curly.begin.wit -> import component; -#^^^^ source.wit meta.world-item.wit meta.whitespace.wit -# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit -# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit -# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit +> import component; +#^^ source.wit meta.world-item.wit meta.whitespace.wit +# ^^^^^^ source.wit meta.world-item.wit meta.import-item.wit keyword.control.import.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit +# ^^^^^^^^^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit variable.other.id.import-item.wit +# ^ source.wit meta.world-item.wit meta.import-item.wit meta.id.import-item.wit >} #^ source.wit meta.world-item.wit punctuation.brackets.curly.end.wit > @@ -27,41 +27,41 @@ # ^^^^^^^^^ source.wit meta.interface-item.wit entity.name.type.id.interface-item.wit # ^ source.wit meta.interface-item.wit # ^ source.wit meta.interface-item.wit punctuation.brackets.curly.begin.wit -> type value = tuple; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit entity.name.type.tuple.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit -# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.type-item.wit -> query-eval: func(q: u64) -> list; -#^^^^ source.wit meta.interface-item.wit meta.whitespace.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit -# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit -# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit -# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit -# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.id.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit -# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit +> type value = tuple; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.type-item.wit keyword.declaration.type.type-item.wit storage.type.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit entity.name.type.id.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit punctuation.equal.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit entity.name.type.tuple.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit punctuation.brackets.angle.begin.wit +# ^^^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit meta.tuple.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.type-item.wit +> query-eval: func(q: u64) -> list; +#^^ source.wit meta.interface-item.wit meta.whitespace.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word-separator.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit keyword.other.func.func-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.begin.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit variable.parameter.id.named-type.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit keyword.operator.key-value.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit meta.whitespace.wit +# ^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit meta.named-type-list.wit entity.name.type.numeric.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.param-list.wit punctuation.brackets.round.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.whitespace.wit +# ^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit keyword.operator.arrow.skinny.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.whitespace.wit +# ^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.list.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.begin.wit +# ^^^^^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit entity.name.type.id.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit meta.list.ty.wit punctuation.brackets.angle.end.wit +# ^ source.wit meta.interface-item.wit meta.func-item.wit meta.function.wit meta.result-list.wit >} #^ source.wit meta.interface-item.wit punctuation.brackets.curly.end.wit > \ No newline at end of file diff --git a/tests/grammar/unit/basic-feature-gates.wit b/tests/grammar/unit/basic-feature-gates.wit index afb16f8..8727701 100644 --- a/tests/grammar/unit/basic-feature-gates.wit +++ b/tests/grammar/unit/basic-feature-gates.wit @@ -4,16 +4,16 @@ package test:basic@1.0.0; @unstable(feature = test-feature) interface basic { - test-func: func(); + test-func: func(); } @since(version = 1.0.0) interface stable { - stable-func: func(); + stable-func: func(); } @deprecated(version = 2.0.0) @since(version = 1.0.0) interface old { - old-func: func(); + old-func: func(); } diff --git a/tests/grammar/unit/feature-gates-test.wit b/tests/grammar/unit/feature-gates-test.wit index d3edaee..be3e8e6 100644 --- a/tests/grammar/unit/feature-gates-test.wit +++ b/tests/grammar/unit/feature-gates-test.wit @@ -6,85 +6,85 @@ package example:feature-gates@1.0.0; /// Interface with unstable feature gate @unstable(feature = wasi-io) interface io { - /// Function with since annotation - @since(version = 1.2.0) - read: func(fd: u32) -> result, error>; - - /// Function with deprecated annotation - @deprecated(version = 2.0.0) - write-old: func(fd: u32, data: list) -> result<_, error>; + /// Function with since annotation + @since(version = 1.2.0) + read: func(fd: u32) -> result, error>; + + /// Function with deprecated annotation + @deprecated(version = 2.0.0) + write-old: func(fd: u32, data: list) -> result<_, error>; } /// World with feature gates @unstable(feature = experimental-world) world example { - /// Export with since annotation + /// Export with since annotation + @since(version = 1.1.0) + export log: interface { @since(version = 1.1.0) - export log: interface { - @since(version = 1.1.0) - info: func(msg: string); - - @deprecated(version = 2.0.0) - debug: func(msg: string); - } - - /// Import with unstable feature - @unstable(feature = network-io) - import socket: interface { - connect: func(addr: string) -> result; - } + info: func(msg: string); + + @deprecated(version = 2.0.0) + debug: func(msg: string); + } + + /// Import with unstable feature + @unstable(feature = network-io) + import socket: interface { + connect: func(addr: string) -> result; + } } /// Types with feature gates @since(version = 1.0.0) interface types { - /// Record with unstable annotation - @unstable(feature = advanced-types) - record config { - name: string, - @since(version = 1.1.0) - timeout: option, - } - - /// Enum with deprecation - @deprecated(version = 2.0.0) - enum status { - ok, - error, - @unstable(feature = new-status) - pending, - } - - /// Variant with feature gates - @since(version = 1.0.0) - variant result-type { - success(string), - @deprecated(version = 1.5.0) - failure(string), - } - - /// Flags with annotations - @unstable(feature = flag-extensions) - flags permissions { - read, - write, - @since(version = 1.2.0) - execute, - } - - /// Type alias with feature gate + /// Record with unstable annotation + @unstable(feature = advanced-types) + record config { + name: string, @since(version = 1.1.0) - type user-id = u32; - - /// Resource with feature gate - @unstable(feature = resource-management) - resource file { - constructor(path: string); - - @since(version = 1.1.0) - read: func() -> string; - - @deprecated(version = 2.0.0) - write-sync: func(data: string); - } + timeout: option, + } + + /// Enum with deprecation + @deprecated(version = 2.0.0) + enum status { + ok, + error, + @unstable(feature = new-status) + pending, + } + + /// Variant with feature gates + @since(version = 1.0.0) + variant result-type { + success(string), + @deprecated(version = 1.5.0) + failure(string), + } + + /// Flags with annotations + @unstable(feature = flag-extensions) + flags permissions { + read, + write, + @since(version = 1.2.0) + execute, + } + + /// Type alias with feature gate + @since(version = 1.1.0) + type user-id = u32; + + /// Resource with feature gate + @unstable(feature = resource-management) + resource file { + constructor(path: string); + + @since(version = 1.1.0) + read: func() -> string; + + @deprecated(version = 2.0.0) + write-sync: func(data: string); + } } diff --git a/tests/grammar/unit/interface.wit b/tests/grammar/unit/interface.wit index d56f5d4..6c38626 100644 --- a/tests/grammar/unit/interface.wit +++ b/tests/grammar/unit/interface.wit @@ -17,105 +17,105 @@ use wasi:http/types@1.0.0 as http-types // ^^^^^^^^^^ entity.name.type.toplevel-use-item.wit interface some-interface { -// <--------- keyword.declaration.interface.interface-item.wit storage.type.wit -// ^^^^^^^^^^^^^^ entity.name.type.id.interface-item.wit -// ^ meta.interface-item.wit punctuation.brackets.curly.begin.wit + // <--------- keyword.declaration.interface.interface-item.wit storage.type.wit + // ^^^^^^^^^^^^^^ entity.name.type.id.interface-item.wit + // ^ meta.interface-item.wit punctuation.brackets.curly.begin.wit use self.io.level-L1.level-L2.{ -//^^^ keyword.other.use.use-item.wit -// ^^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-path.wit -// ^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-path.wit -// ^^^^^^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-path.wit -// ^^^^^^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-item.wit -// ^ meta.use-item.wit punctuation.brackets.curly.begin.wit + //^^^ keyword.other.use.use-item.wit + // ^^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-path.wit + // ^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-path.wit + // ^^^^^^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-path.wit + // ^^^^^^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-item.wit + // ^ meta.use-item.wit punctuation.brackets.curly.begin.wit input-stream, -// ^^^^^^^^^^^^ entity.name.type.declaration.use-names-item.use-item.wit -// ^ meta.use-item.wit punctuation.comma.wit + // ^^^^^^^^^^^^ entity.name.type.declaration.use-names-item.use-item.wit + // ^ meta.use-item.wit punctuation.comma.wit output-stream -// ^^^^^^^^^^^^^^ entity.name.type.declaration.use-names-item.use-item.wit + // ^^^^^^^^^^^^^^ entity.name.type.declaration.use-names-item.use-item.wit } -//^ meta.use-item.wit punctuation.brackets.curly.end.wit + //^ meta.use-item.wit punctuation.brackets.curly.end.wit make-request: func( -//^^^^^^^^^^^^ entity.name.function.id.func-item.wit -// ^ meta.func-item.wit keyword.operator.key-value.wit -// ^^^^ keyword.other.func.func-type.wit -// ^ meta.function.wit punctuation.brackets.round.begin.wit - - url: method, -// ^^^ variable.parameter.id.named-type.wit -// ^ meta.named-type-list.wit keyword.operator.key-value.wit -// ^^^^^^ entity.name.type.id.wit -// ^ meta.named-type-list.wit punctuation.comma.wit - - headers: headers + //^^^^^^^^^^^^ entity.name.function.id.func-item.wit + // ^ meta.func-item.wit keyword.operator.key-value.wit + // ^^^^ keyword.other.func.func-type.wit + // ^ meta.function.wit punctuation.brackets.round.begin.wit + + url: method, + // ^^^ variable.parameter.id.named-type.wit + // ^ meta.named-type-list.wit keyword.operator.key-value.wit + // ^^^^^^ entity.name.type.id.wit + // ^ meta.named-type-list.wit punctuation.comma.wit + + headers: headers ) -> result -//^ meta.function.wit punctuation.brackets.round.end.wit -// ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit -// ^^^^^^ meta.result.ty.wit entity.name.type.result.wit -// ^ meta.result.ty.wit punctuation.brackets.angle.begin.wit -// ^^^^^^^^^^^^^ entity.name.type.id.wit -// ^ meta.result.ty.wit punctuation.comma.wit -// ^^^^^^ entity.name.type.string.wit -// ^ meta.result.ty.wit punctuation.brackets.angle.end.wit + //^ meta.function.wit punctuation.brackets.round.end.wit + // ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit + // ^^^^^^ meta.result.ty.wit entity.name.type.result.wit + // ^ meta.result.ty.wit punctuation.brackets.angle.begin.wit + // ^^^^^^^^^^^^^ entity.name.type.id.wit + // ^ meta.result.ty.wit punctuation.comma.wit + // ^^^^^^ entity.name.type.string.wit + // ^ meta.result.ty.wit punctuation.brackets.angle.end.wit enum others{input-stream,output-stream} -//^^^^ keyword.other.enum.enum-items.wit -// ^^^^^^ entity.name.type.id.enum-items.wit -// ^ meta.enum-items.wit punctuation.brackets.curly.begin.wit -// ^^^^^^^^^^^^ variable.other.enummember.id.enum-cases.wit -// ^ meta.enum-items.wit punctuation.comma.wit -// ^^^^^^^^^^^^^ variable.other.enummember.id.enum-cases.wit -// ^ meta.enum-items.wit + //^^^^ keyword.other.enum.enum-items.wit + // ^^^^^^ entity.name.type.id.enum-items.wit + // ^ meta.enum-items.wit punctuation.brackets.curly.begin.wit + // ^^^^^^^^^^^^ variable.other.enummember.id.enum-cases.wit + // ^ meta.enum-items.wit punctuation.comma.wit + // ^^^^^^^^^^^^^ variable.other.enummember.id.enum-cases.wit + // ^ meta.enum-items.wit roundtrip: func(a: result) -> result; -//^^^^^^^^^ entity.name.function.id.func-item.wit -// ^ meta.func-item.wit keyword.operator.key-value.wit -// ^^^^ keyword.other.func.func-type.wit -// ^ meta.function.wit punctuation.brackets.round.begin.wit -// ^ variable.parameter.id.named-type.wit -// ^ meta.named-type-list.wit keyword.operator.key-value.wit -// ^^^^^^ entity.name.type.result.wit -// ^ meta.function.wit punctuation.brackets.round.end.wit -// ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit -// ^^^^^^ entity.name.type.result.wit + //^^^^^^^^^ entity.name.function.id.func-item.wit + // ^ meta.func-item.wit keyword.operator.key-value.wit + // ^^^^ keyword.other.func.func-type.wit + // ^ meta.function.wit punctuation.brackets.round.begin.wit + // ^ variable.parameter.id.named-type.wit + // ^ meta.named-type-list.wit keyword.operator.key-value.wit + // ^^^^^^ entity.name.type.result.wit + // ^ meta.function.wit punctuation.brackets.round.end.wit + // ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit + // ^^^^^^ entity.name.type.result.wit } // <- meta.interface-item.wit punctuation.brackets.curly.end.wit interface another-interface { -// <--------- keyword.declaration.interface.interface-item.wit storage.type.wit -// ^^^^^^^^^^^^^^^^^ entity.name.type.id.interface-item.wit -// ^ meta.interface-item.wit punctuation.brackets.curly.begin.wit + // <--------- keyword.declaration.interface.interface-item.wit storage.type.wit + // ^^^^^^^^^^^^^^^^^ entity.name.type.id.interface-item.wit + // ^ meta.interface-item.wit punctuation.brackets.curly.begin.wit type my-type = string // comment -//^^^^ keyword.declaration.type.type-item.wit -// ^^^^^^^ entity.name.type.id.type-item.wit -// ^ meta.type-item.wit punctuation.equal.wit -// ^^^^^^ entity.name.type.string.wit -// ^^^^^^^^^^ comment.line.double-slash.wit + //^^^^ keyword.declaration.type.type-item.wit + // ^^^^^^^ entity.name.type.id.type-item.wit + // ^ meta.type-item.wit punctuation.equal.wit + // ^^^^^^ entity.name.type.string.wit + // ^^^^^^^^^^ comment.line.double-slash.wit record my-record { -//^^^^^^ keyword.declaration.record.record-item.wit -// ^^^^^^^^^ entity.name.type.id.record-item.wit -// ^ meta.record-item.wit punctuation.brackets.curly.begin.wit + //^^^^^^ keyword.declaration.record.record-item.wit + // ^^^^^^^^^ entity.name.type.id.record-item.wit + // ^ meta.record-item.wit punctuation.brackets.curly.begin.wit foo: string, -// ^^^ variable.declaration.id.record-fields.wit -// ^ meta.record-fields.wit keyword.operator.key-value.wit -// ^^^^^^ entity.name.type.string.wit -// ^ meta.record-fields.wit punctuation.comma.wit + // ^^^ variable.declaration.id.record-fields.wit + // ^ meta.record-fields.wit keyword.operator.key-value.wit + // ^^^^^^ entity.name.type.string.wit + // ^ meta.record-fields.wit punctuation.comma.wit bar: string } -//^ meta.record-item.wit punctuation.brackets.curly.end.wit + //^ meta.record-item.wit punctuation.brackets.curly.end.wit } // <- meta.interface-item.wit punctuation.brackets.curly.end.wit diff --git a/tests/grammar/unit/lists.wit b/tests/grammar/unit/lists.wit index c52ac93..8122d34 100644 --- a/tests/grammar/unit/lists.wit +++ b/tests/grammar/unit/lists.wit @@ -4,41 +4,41 @@ package test:test; interface lists { -// Regular lists + // Regular lists func1: func() -> list; -// ^^^^ entity.name.type.list.wit -// ^ punctuation.brackets.angle.begin.wit -// ^^ entity.name.type.numeric.wit -// ^ punctuation.brackets.angle.end.wit + // ^^^^ entity.name.type.list.wit + // ^ punctuation.brackets.angle.begin.wit + // ^^ entity.name.type.numeric.wit + // ^ punctuation.brackets.angle.end.wit func2: func() -> list; -// ^^^^ entity.name.type.list.wit -// ^ punctuation.brackets.angle.begin.wit -// ^^^^^^ entity.name.type.string.wit -// ^ punctuation.brackets.angle.end.wit + // ^^^^ entity.name.type.list.wit + // ^ punctuation.brackets.angle.begin.wit + // ^^^^^^ entity.name.type.string.wit + // ^ punctuation.brackets.angle.end.wit -// Sized lists + // Sized lists func3: func() -> list; -// ^^^^ entity.name.type.list.wit -// ^ punctuation.brackets.angle.begin.wit -// ^^ entity.name.type.numeric.wit -// ^ punctuation.comma.wit -// ^ constant.numeric.integer.list-size.wit -// ^ punctuation.brackets.angle.end.wit + // ^^^^ entity.name.type.list.wit + // ^ punctuation.brackets.angle.begin.wit + // ^^ entity.name.type.numeric.wit + // ^ punctuation.comma.wit + // ^ constant.numeric.integer.list-size.wit + // ^ punctuation.brackets.angle.end.wit func4: func() -> list; -// ^^^^ entity.name.type.list.wit -// ^ punctuation.brackets.angle.begin.wit -// ^^^ entity.name.type.numeric.wit -// ^ punctuation.comma.wit -// ^^ constant.numeric.integer.list-size.wit -// ^ punctuation.brackets.angle.end.wit + // ^^^^ entity.name.type.list.wit + // ^ punctuation.brackets.angle.begin.wit + // ^^^ entity.name.type.numeric.wit + // ^ punctuation.comma.wit + // ^^ constant.numeric.integer.list-size.wit + // ^ punctuation.brackets.angle.end.wit func5: func() -> list; -// ^^^^ entity.name.type.list.wit -// ^ punctuation.brackets.angle.begin.wit -// ^^^^^^ entity.name.type.string.wit -// ^ punctuation.comma.wit -// ^^ constant.numeric.integer.list-size.wit -// ^ punctuation.brackets.angle.end.wit + // ^^^^ entity.name.type.list.wit + // ^ punctuation.brackets.angle.begin.wit + // ^^^^^^ entity.name.type.string.wit + // ^ punctuation.comma.wit + // ^^ constant.numeric.integer.list-size.wit + // ^ punctuation.brackets.angle.end.wit } diff --git a/tests/grammar/unit/world.wit b/tests/grammar/unit/world.wit index 398781a..6c375c3 100644 --- a/tests/grammar/unit/world.wit +++ b/tests/grammar/unit/world.wit @@ -9,169 +9,169 @@ package bytecodealliance:test@1.0.0-beta.1 // ^^^^^^^^^^^^ meta.package-identifier.wit constant.numeric.versioning.package-identifier.wit default world some-world { -// <------- storage.modifier.default.world-item.wit -// ^^^^^ keyword.declaration.world.world-item.wit storage.type.wit -// ^^^^^^^^^^ entity.name.type.id.world-item.wit -// ^ meta.world-item.wit punctuation.brackets.curly.begin.wit + // <------- storage.modifier.default.world-item.wit + // ^^^^^ keyword.declaration.world.world-item.wit storage.type.wit + // ^^^^^^^^^^ entity.name.type.id.world-item.wit + // ^ meta.world-item.wit punctuation.brackets.curly.begin.wit include foo -//^^^^^^^ keyword.control.include.include-item.wit -// ^^^ meta.use-path.include-item.wit entity.name.namespace.id.use-path.wit + //^^^^^^^ keyword.control.include.include-item.wit + // ^^^ meta.use-path.include-item.wit entity.name.namespace.id.use-path.wit import kebab-name -//^^^^^^ keyword.control.import.import-item.wit -// ^^^^^^^^^^ variable.other.id.import-item.wit + //^^^^^^ keyword.control.import.import-item.wit + // ^^^^^^^^^^ variable.other.id.import-item.wit import namespace:package/id -//^^^^^^ keyword.control.import.import-item.wit -// ^^^^^^^^^ variable.other.id.import-item.wit -// ^ meta.import-item.wit meta.id.import-item.wit -// ^^^^^^^ variable.other.id.import-item.wit -// ^ meta.import-item.wit meta.id.import-item.wit -// ^^ variable.other.id.import-item.wit + //^^^^^^ keyword.control.import.import-item.wit + // ^^^^^^^^^ variable.other.id.import-item.wit + // ^ meta.import-item.wit meta.id.import-item.wit + // ^^^^^^^ variable.other.id.import-item.wit + // ^ meta.import-item.wit meta.id.import-item.wit + // ^^ variable.other.id.import-item.wit import filesystem: filesystem.filesystem -//^^^^^^ keyword.control.import.import-item.wit -// ^^^^^^^^^^ variable.other.id.import-item.wit -// ^ meta.import-item.wit meta.id.import-item.wit -// ^^^^^^^^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-path.wit -// ^^^^^^^^^^ entity.name.namespace.id.use-path.wit + //^^^^^^ keyword.control.import.import-item.wit + // ^^^^^^^^^^ variable.other.id.import-item.wit + // ^ meta.import-item.wit meta.id.import-item.wit + // ^^^^^^^^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-path.wit + // ^^^^^^^^^^ entity.name.namespace.id.use-path.wit import random: pkg.random -//^^^^^^ keyword.control.import.import-item.wit -// ^^^^^^ variable.other.id.import-item.wit -// ^ meta.import-item.wit meta.id.import-item.wit -// ^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-path.wit -// ^^^^^^ entity.name.namespace.id.use-path.wit + //^^^^^^ keyword.control.import.import-item.wit + // ^^^^^^ variable.other.id.import-item.wit + // ^ meta.import-item.wit meta.id.import-item.wit + // ^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-path.wit + // ^^^^^^ entity.name.namespace.id.use-path.wit export main: func( -//^^^^^^ keyword.control.export.export-item.wit -// ^^^^ variable.other.constant.id.export-item.wit -// ^ meta.export-item.wit meta.id.export-item.wit -// ^^^^ keyword.other.func.func-type.wit -// ^ meta.function.wit punctuation.brackets.round.begin.wit - - args: list, -// ^^^^ variable.parameter.id.named-type.wit -// ^ meta.named-type-list.wit keyword.operator.key-value.wit -// ^^^^ entity.name.type.list.wit -// ^ meta.list.ty.wit punctuation.brackets.angle.begin.wit -// ^^^^^ entity.name.type.string.wit -// ^ meta.list.ty.wit punctuation.brackets.angle.end.wit -// ^ punctuation.comma.wit + //^^^^^^ keyword.control.export.export-item.wit + // ^^^^ variable.other.constant.id.export-item.wit + // ^ meta.export-item.wit meta.id.export-item.wit + // ^^^^ keyword.other.func.func-type.wit + // ^ meta.function.wit punctuation.brackets.round.begin.wit + + args: list, + // ^^^^ variable.parameter.id.named-type.wit + // ^ meta.named-type-list.wit keyword.operator.key-value.wit + // ^^^^ entity.name.type.list.wit + // ^ meta.list.ty.wit punctuation.brackets.angle.begin.wit + // ^^^^^ entity.name.type.string.wit + // ^ meta.list.ty.wit punctuation.brackets.angle.end.wit + // ^ punctuation.comma.wit ) -> result -//^ meta.function.wit punctuation.brackets.round.end.wit -// ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit -// ^^^^^^ entity.name.type.result.wit + //^ meta.function.wit punctuation.brackets.round.end.wit + // ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit + // ^^^^^^ entity.name.type.result.wit } // <- meta.world-item.wit punctuation.brackets.curly.end.wit world another-world { -// <----- keyword.declaration.world.world-item.wit storage.type.wit -// ^^^^^^^^^^^^^ entity.name.type.id.world-item.wit -// ^ meta.world-item.wit punctuation.brackets.curly.begin.wit + // <----- keyword.declaration.world.world-item.wit storage.type.wit + // ^^^^^^^^^^^^^ entity.name.type.id.world-item.wit + // ^ meta.world-item.wit punctuation.brackets.curly.begin.wit include bar with { a as a1, b as b1 } -//^^^^^^^ keyword.control.include.include-item.wit -// ^^^ meta.use-path.include-item.wit entity.name.namespace.id.use-path.wit -// ^^^^ keyword.control.with.include-item.wit -// ^ meta.with.include-item.wit punctuation.brackets.curly.begin.wit -// ^ variable.other.id.include-names-item.wit -// ^^ keyword.control.as.include-names-item.wit -// ^^ entity.name.type.include-names-item.wit -// ^ meta.with.include-item.wit punctuation.comma.wit -// ^ variable.other.id.include-names-item.wit -// ^^ keyword.control.as.include-names-item.wit -// ^^ entity.name.type.include-names-item.wit -// ^ meta.with.include-item.wit punctuation.brackets.curly.end.wit + //^^^^^^^ keyword.control.include.include-item.wit + // ^^^ meta.use-path.include-item.wit entity.name.namespace.id.use-path.wit + // ^^^^ keyword.control.with.include-item.wit + // ^ meta.with.include-item.wit punctuation.brackets.curly.begin.wit + // ^ variable.other.id.include-names-item.wit + // ^^ keyword.control.as.include-names-item.wit + // ^^ entity.name.type.include-names-item.wit + // ^ meta.with.include-item.wit punctuation.comma.wit + // ^ variable.other.id.include-names-item.wit + // ^^ keyword.control.as.include-names-item.wit + // ^^ entity.name.type.include-names-item.wit + // ^ meta.with.include-item.wit punctuation.brackets.curly.end.wit use pkg.path.{id} -//^^^ keyword.other.use.use-item.wit -// ^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-path.wit -// ^^^^ entity.name.namespace.id.use-path.wit -// ^ keyword.operator.namespace-separator.use-item.wit -// ^ meta.use-item.wit punctuation.brackets.curly.begin.wit -// ^^ entity.name.type.declaration.use-names-item.use-item.wit -// ^ meta.use-item.wit punctuation.brackets.curly.end.wit + //^^^ keyword.other.use.use-item.wit + // ^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-path.wit + // ^^^^ entity.name.namespace.id.use-path.wit + // ^ keyword.operator.namespace-separator.use-item.wit + // ^ meta.use-item.wit punctuation.brackets.curly.begin.wit + // ^^ entity.name.type.declaration.use-names-item.use-item.wit + // ^ meta.use-item.wit punctuation.brackets.curly.end.wit type my-type = string -//^^^^ keyword.declaration.type.type-item.wit -// ^^^^^^^ entity.name.type.id.type-item.wit -// ^ meta.type-item.wit punctuation.equal.wit -// ^^^^^^ entity.name.type.string.wit + //^^^^ keyword.declaration.type.type-item.wit + // ^^^^^^^ entity.name.type.id.type-item.wit + // ^ meta.type-item.wit punctuation.equal.wit + // ^^^^^^ entity.name.type.string.wit record my-record { -//^^^^^^ keyword.declaration.record.record-item.wit -// ^^^^^^^^^ entity.name.type.id.record-item.wit -// ^ meta.record-item.wit punctuation.brackets.curly.begin.wit + //^^^^^^ keyword.declaration.record.record-item.wit + // ^^^^^^^^^ entity.name.type.id.record-item.wit + // ^ meta.record-item.wit punctuation.brackets.curly.begin.wit foo: string, -// ^^^ variable.declaration.id.record-fields.wit -// ^ meta.record-fields.wit keyword.operator.key-value.wit -// ^^^^^^ entity.name.type.string.wit -// ^ meta.record-fields.wit punctuation.comma.wit + // ^^^ variable.declaration.id.record-fields.wit + // ^ meta.record-fields.wit keyword.operator.key-value.wit + // ^^^^^^ entity.name.type.string.wit + // ^ meta.record-fields.wit punctuation.comma.wit bar: bool } -//^ meta.record-item.wit punctuation.brackets.curly.end.wit + //^ meta.record-item.wit punctuation.brackets.curly.end.wit import sample: interface { input: func(value: tuple) -> result -// ^^^^^ entity.name.function.id.func-item.wit -// ^ meta.func-item.wit keyword.operator.key-value.wit -// ^^^^ keyword.other.func.func-type.wit -// ^ meta.function.wit punctuation.brackets.round.begin.wit + // ^^^^^ entity.name.function.id.func-item.wit + // ^ meta.func-item.wit keyword.operator.key-value.wit + // ^^^^ keyword.other.func.func-type.wit + // ^ meta.function.wit punctuation.brackets.round.begin.wit output-XML: func( -// ^^^^^^ meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit -// ^ entity.name.function.id.func-item.wit meta.word-separator.wit -// ^^^ entity.name.function.id.func-item.wit meta.word.wit -// ^ meta.func-item.wit keyword.operator.key-value.wit -// ^^^^ keyword.other.func.func-type.wit -// ^ meta.function.wit punctuation.brackets.round.begin.wit - - response: result<_,failure> -// ^^^^^^^^ variable.parameter.id.named-type.wit -// ^ meta.named-type-list.wit keyword.operator.key-value.wit -// ^^^^^^ entity.name.type.result.wit -// ^ meta.result.ty.wit punctuation.brackets.angle.begin.wit -// ^ variable.other.inferred-type.result.wit -// ^ meta.result.ty.wit punctuation.comma.wit -// ^^^^^^^ entity.name.type.id.wit -// ^ meta.result.ty.wit punctuation.brackets.angle.end.wit + // ^^^^^^ meta.func-item.wit entity.name.function.id.func-item.wit meta.word.wit + // ^ entity.name.function.id.func-item.wit meta.word-separator.wit + // ^^^ entity.name.function.id.func-item.wit meta.word.wit + // ^ meta.func-item.wit keyword.operator.key-value.wit + // ^^^^ keyword.other.func.func-type.wit + // ^ meta.function.wit punctuation.brackets.round.begin.wit + + response: result<_, failure> + // ^^^^^^^^ variable.parameter.id.named-type.wit + // ^ meta.named-type-list.wit keyword.operator.key-value.wit + // ^^^^^^ entity.name.type.result.wit + // ^ meta.result.ty.wit punctuation.brackets.angle.begin.wit + // ^ variable.other.inferred-type.result.wit + // ^ meta.result.ty.wit punctuation.comma.wit + // ^^^^^^^ entity.name.type.id.wit + // ^ meta.result.ty.wit punctuation.brackets.angle.end.wit ) -> result -// ^ meta.function.wit -// ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit -// ^^^^^^ entity.name.type.result.wit + // ^ meta.function.wit + // ^^ meta.result-list.wit keyword.operator.arrow.skinny.wit + // ^^^^^^ entity.name.type.result.wit } -//^ meta.import-item.wit punctuation.brackets.curly.end.wit + //^ meta.import-item.wit punctuation.brackets.curly.end.wit export hello: func() -//^^^^^^ keyword.control.export.export-item.wit -// ^^^^^ variable.other.constant.id.export-item.wit -// ^ meta.export-item.wit meta.id.export-item.wit -// ^^^^ keyword.other.func.func-type.wit -// ^ meta.function.wit punctuation.brackets.round.begin.wit -// ^ meta.function.wit punctuation.brackets.round.end.wit + //^^^^^^ keyword.control.export.export-item.wit + // ^^^^^ variable.other.constant.id.export-item.wit + // ^ meta.export-item.wit meta.id.export-item.wit + // ^^^^ keyword.other.func.func-type.wit + // ^ meta.function.wit punctuation.brackets.round.begin.wit + // ^ meta.function.wit punctuation.brackets.round.end.wit export kebab-name -//^^^^^^ keyword.control.export.export-item.wit -// ^^^^^^^^^^ variable.other.constant.id.export-item.wit + //^^^^^^ keyword.control.export.export-item.wit + // ^^^^^^^^^^ variable.other.constant.id.export-item.wit export namespace:package/id -//^^^^^^ keyword.control.export.export-item.wit -// ^^^^^^^^^ variable.other.constant.id.export-item.wit -// ^ meta.export-item.wit meta.id.export-item.wit -// ^^^^^^^ variable.other.constant.id.export-item.wit -// ^ meta.export-item.wit meta.id.export-item.wit -// ^^ variable.other.constant.id.export-item.wit + //^^^^^^ keyword.control.export.export-item.wit + // ^^^^^^^^^ variable.other.constant.id.export-item.wit + // ^ meta.export-item.wit meta.id.export-item.wit + // ^^^^^^^ variable.other.constant.id.export-item.wit + // ^ meta.export-item.wit meta.id.export-item.wit + // ^^ variable.other.constant.id.export-item.wit } // <- meta.world-item.wit punctuation.brackets.curly.end.wit diff --git a/wit-bindgen-wasm/Cargo.toml b/wit-bindgen-wasm/Cargo.toml index 5673009..3cc355d 100644 --- a/wit-bindgen-wasm/Cargo.toml +++ b/wit-bindgen-wasm/Cargo.toml @@ -40,3 +40,8 @@ toml = "0.9.5" [profile.release] # Tell `rustc` to optimize for small code size. opt-level = "s" + +# Disable Binaryen optimization step; avoids failures on Windows CI environments +# where the bundled/expected `wasm-opt` binary may be unavailable. +[package.metadata.wasm-pack.profile.release] +wasm-opt = false