39d77a8cae
Reorganize into grammars/<name>/ subdirs ( Zed's [grammars.*] supports a `path` field, so both grammars ship from this repo without a sibling- repo split ). Vendor tree-sitter-lua as the fork base for tree-sitter- pico8-lua; upstream MIT license preserved at grammars/pico-8-lua/ UPSTREAM-LICENSE.md. Dialect features added: != as ~= alias, \ integer divide, ^^ binary xor, >>> / <<> / >>< shifts and rotates, compound-assignment statements, memory peek prefixes @ % $ (% coexists with binary modulo), single-line `if (cond) stmt [else stmt]` and `while (cond) stmt`, statement-level print shorthand ?, and `#include path` directives. Identifier rule no longer accepts ! ? @ $ ( upstream did ). Pico-8 Lua language ( languages/pico-8-lua/, suffix .p8lua ) ships highlights with the full ~110 PICO-8 builtins as @function.builtin. The cart injection now hands __lua__ bodies to pico-8-lua, so .p8 carts and bare .p8lua files share the dialect-aware grammar. Examples updated to exercise the dialect end-to-end. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
55 lines
985 B
C
55 lines
985 B
C
#ifndef TREE_SITTER_ALLOC_H_
|
|
#define TREE_SITTER_ALLOC_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdbool.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
// Allow clients to override allocation functions
|
|
#ifdef TREE_SITTER_REUSE_ALLOCATOR
|
|
|
|
extern void *(*ts_current_malloc)(size_t size);
|
|
extern void *(*ts_current_calloc)(size_t count, size_t size);
|
|
extern void *(*ts_current_realloc)(void *ptr, size_t size);
|
|
extern void (*ts_current_free)(void *ptr);
|
|
|
|
#ifndef ts_malloc
|
|
#define ts_malloc ts_current_malloc
|
|
#endif
|
|
#ifndef ts_calloc
|
|
#define ts_calloc ts_current_calloc
|
|
#endif
|
|
#ifndef ts_realloc
|
|
#define ts_realloc ts_current_realloc
|
|
#endif
|
|
#ifndef ts_free
|
|
#define ts_free ts_current_free
|
|
#endif
|
|
|
|
#else
|
|
|
|
#ifndef ts_malloc
|
|
#define ts_malloc malloc
|
|
#endif
|
|
#ifndef ts_calloc
|
|
#define ts_calloc calloc
|
|
#endif
|
|
#ifndef ts_realloc
|
|
#define ts_realloc realloc
|
|
#endif
|
|
#ifndef ts_free
|
|
#define ts_free free
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // TREE_SITTER_ALLOC_H_
|