tree-sitter-carve
Tree-sitter grammar for Carve, a post-Markdown lightweight markup language with visual mnemonics.
This grammar is built from the proven Djot Tree-sitter scanner architecture and changes the public syntax to Carve:
/italic/,*bold*, and/*bold italic*/=highlight=, plus the braced-only{^superscript^}and{,subscript,}(a bare^or,is literal text)$+ backtick math spans, and$$+ backtick display math spans:name[content]inline extensions,@mentions,#tags, and:emoji:%%line comments, trailing inline%%comments, and%%%fenced comments- Djot-style blocks retained where Carve keeps them: headings, lists, tables, fenced code, links, images, attributes, footnotes, captions, and divs
Development
git clone --recurse-submodules https://github.com/markup-carve/tree-sitter-carve
npm install
npm run generate
npm test
If you cloned without --recurse-submodules, fetch the shared spec corpus with
git submodule update --init.
Shared-corpus conformance
The canonical Carve spec corpus is vendored as a git submodule at spec/
(spec/tests/corpus/NN-slug.crv). Two checks run it against this grammar:
npm run test:coverage # every spec category is classified (covered or skip)
npm run test:conformance # every covered category parses with no ERROR/MISSING
npm run test:corpus # both, in order
test/coverage.json is the coverage matrix. A category is covered when the
grammar parses every one of its corpus inputs cleanly; otherwise it is listed in
skip with a reason recording the unmodeled construct. Adding a new spec
category (after bumping the submodule) fails test:coverage until it is
classified, which is intentional: it forces a decision rather than silently
dropping coverage.
Status
Initial grammar. It is intended for editor support and structural parsing. The Carve conformance corpus remains the source of truth for renderer behavior.
Metadata
Release files for tree-sitter-carve 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tree_sitter_carve-0.1.5.tar.gz | 584.7 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| tree_sitter_carve-0.1.5-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| tree_sitter_carve-0.1.5-cp38-abi3-win32.whl | CPython 3.8 | abi3 | Windows x86-32 | Details |
| tree_sitter_carve-0.1.5-cp38-abi3-musllinux_1_2_x86_64.whl | CPython 3.8 | abi3 | Linux musl 1.2+ x86-64 | Details |
| tree_sitter_carve-0.1.5-cp38-abi3-musllinux_1_2_i686.whl | CPython 3.8 | abi3 | Linux musl 1.2+ x86-32 | Details |
| tree_sitter_carve-0.1.5-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 | Details |
| tree_sitter_carve-0.1.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 | Details |
| tree_sitter_carve-0.1.5-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 2.1 MB
Release files / tree_sitter_carve-0.1.5.tar.gz
| Download URL | tree_sitter_carve-0.1.5.tar.gz |
|---|---|
| Size | 584.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e1a31aeace42fd503b1e826f3643a3e053e274e58447c5650de0bd61a250fde
|
|
BLAKE2b-256 checksum How to use checksums |
3fd70c44b5a7ee60e44ca1f10e7296e128f5294531165f75d44b6458baec655d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-win_amd64.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 159.3 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
06bd8a450142f041cb81ccd210781abf42997ddcadfca66ba25aa441ec807092
|
|
BLAKE2b-256 checksum How to use checksums |
58606022e48438aa47dfcfc8196e86fd062a3e48dca8ef8accd960c33d62b35c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-win32.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-win32.whl |
|---|---|
| Size | 160.3 kB |
| Tags | CPython 3.8 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
2a52e69c860e79e090535e7392eddd6659e917c9a940effacf4d7057792429aa
|
|
BLAKE2b-256 checksum How to use checksums |
75c2a8e0ed6741ecc1d3898edb4bf186c1e72a043297defa97baadc3a576e08b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-musllinux_1_2_x86_64.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 259.2 kB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
81a8abc2b6ffc10b06679e858d7cd24cb4b626c84b5f75581cb312f11472fc8a
|
|
BLAKE2b-256 checksum How to use checksums |
7fd55c6bcddac0ec8e87f17d28a5b662097b3d96239728cd5948f498f1e32588
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-musllinux_1_2_i686.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-musllinux_1_2_i686.whl |
|---|---|
| Size | 261.0 kB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
9fd58e774f677d17c81088b5b7a12f2a8e12c758c977caa2144be12dff8bc754
|
|
BLAKE2b-256 checksum How to use checksums |
0b61f7812a97801dba2fda78f44f728ffd71e9d767d66a3bad85f5d6bd66ed3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 268.1 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
18c8271a3af0f8d1d8767f2e83755468975712eb94aba84c6d375520887e2e24
|
|
BLAKE2b-256 checksum How to use checksums |
ab3687e3d4fff7bd81f8ccf99b4b74d4fe1ed1abd2a20e224d213508dd8f759b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 264.5 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
685df99de10720ed2f09a74cf9caebcfb80870a7cb61d67c3a412a618b27d6f2
|
|
BLAKE2b-256 checksum How to use checksums |
a1accc8f72131b5aa9b9201b5acb70850b5cedbbd1b14296f92fefd22e185d81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_carve-0.1.5-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | tree_sitter_carve-0.1.5-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 169.6 kB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
44eb787d88815da72038eee02cdcc4d15159b08c4f9814db2288a262f56f0cdb
|
|
BLAKE2b-256 checksum How to use checksums |
fe985d5dc3c260d1214bb694c41f92a93be14700f742e610fa21ea7dcac1d094
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|