String? kindAt(int offset) { for (final token in tokens) { if (token.start <= offset && offset < token.end) return token.kind; } return null; }