// SPDX-FileCopyrightText: 2025 The Project Pterodactyl Developers // // SPDX-License-Identifier: MPL-2.0 import Foundation public struct Cursor: Sendable { let node: SyntaxTree.Child let utf16Offset: Int let children: [Cursor] init(node: SyntaxTree.Child, utf16Offset: Int) { self.node = node self.utf16Offset = utf16Offset var children: [Cursor] = [] var utf16Offset = utf16Offset for childNode in node.children { children.append(Self(node: childNode, utf16Offset: utf16Offset)) utf16Offset += childNode.utf16Length } self.children = children } }