v0.2: Pico-8 Lua dialect grammar and language
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>
This commit is contained in:
+16
-6
@@ -1,15 +1,25 @@
|
||||
id = "pico-8"
|
||||
name = "Pico-8"
|
||||
version = "0.0.1"
|
||||
version = "0.0.2"
|
||||
schema_version = 1
|
||||
authors = ["Kistaro Windrider <kistaro@gmail.com>"]
|
||||
description = "Pico-8 cartridge (.p8) and Lua dialect support for Zed"
|
||||
repository = "https://github.com/kistaro/zed-p8"
|
||||
|
||||
# The .p8 cart container grammar lives at the root of this repo.
|
||||
# During local development, set `repository` to `file://` + the absolute
|
||||
# path of your clone and pin `rev` to a committed SHA. When publishing,
|
||||
# this should point at a public Git URL.
|
||||
# Both grammars live in this same repository, in subdirectories under
|
||||
# `grammars/`. Zed's [grammars.*] block supports a `path` field for
|
||||
# exactly this layout. During local development, `repository` is a
|
||||
# `file://` URL pointing at this clone and `rev` is pinned to a
|
||||
# committed SHA — Zed clones the grammar at that revision rather than
|
||||
# reading the working tree, so changes only take effect after a commit
|
||||
# + a `rev` bump in this file.
|
||||
|
||||
[grammars.p8_cart]
|
||||
repository = "file:///Users/norberg/gitea-repos/zed-p8"
|
||||
rev = "3f209efa897558e8ecd7aa3612846dc12798b0bb"
|
||||
rev = "REPLACE_AT_NEXT_COMMIT"
|
||||
path = "grammars/p8-cart"
|
||||
|
||||
[grammars.pico8_lua]
|
||||
repository = "file:///Users/norberg/gitea-repos/zed-p8"
|
||||
rev = "REPLACE_AT_NEXT_COMMIT"
|
||||
path = "grammars/pico-8-lua"
|
||||
|
||||
Reference in New Issue
Block a user