Skip to main content

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)

Source distribution for tree-sitter-carve 0.1.5
File Size Uploaded
tree_sitter_carve-0.1.5.tar.gz 584.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tree-sitter-carve 0.1.5
File
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

Release history Release notifications | RSS feed

0.1.9

8 release files

0.1.8

8 release files

0.1.7

8 release files

0.1.6

8 release files

This release

0.1.5 This release

8 release files

0.1.4

8 release files

0.1.3

8 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page