Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/src/tree_sitter/* linguist-generated

# C bindings
*/bindings/c/* linguist-generated
*/bindings/c/** linguist-generated

# Rust bindings
bindings/rust/build.rs linguist-generated
Expand All @@ -35,3 +35,7 @@ go.sum linguist-generated
*/bindings/swift/** linguist-generated
Package.swift linguist-generated
Package.resolved linguist-generated

# Zig bindings
build.zig linguist-generated
build.zig.zon linguist-generated
37 changes: 3 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,54 +17,23 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up tree-sitter
uses: tree-sitter/setup-action@v2
with:
install-lib: false

uses: tree-sitter/setup-action/cli@v2
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{vars.NODE_VERSION}}

- name: Build with all extensions
run: node scripts/build.js
env:
ALL_EXTENSIONS: 1

- name: Run tests
uses: tree-sitter/parser-test-action@v2
with:
generate: false
test-rust: true
test-parser-cmd: node scripts/test.js

- name: Rebuild with default extensions
run: node scripts/build.js
- name: Verify grammar consistency
run: git diff --exit-code -- */src/grammar.json

fuzz:
name: Fuzz parsers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
parser: [tree-sitter-markdown, tree-sitter-markdown-inline]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Check for scanner changes
id: scanner-changes
run: |-
if git diff --quiet HEAD^ -- '${{matrix.parser}}/src/scanner.c'; then
printf 'changed=false\n' >> "$GITHUB_OUTPUT"
else
printf 'changed=true\n' >> "$GITHUB_OUTPUT"
fi
- name: Fuzz ${{matrix.parser}} parser
uses: tree-sitter/fuzz-action@v4
if: steps.scanner-changes.outputs.changed == 'true'
with:
directory: ${{matrix.parser}}
29 changes: 29 additions & 0 deletions .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Fuzz

on:
push:
branches: [split_parser]
paths:
- tree-sitter-markdown/src/scanner.c
- tree-sitter-markdown-inline/src/scanner.c
pull_request:
paths:
- tree-sitter-markdown/src/scanner.c
- tree-sitter-markdown-inline/src/scanner.c
workflow_dispatch:

jobs:
fuzz:
name: Fuzz parsers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
parser: [tree-sitter-markdown, tree-sitter-markdown-inline]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Fuzz ${{matrix.parser}} parser
uses: tree-sitter/fuzz-action@v4
with:
directory: ${{matrix.parser}}
5 changes: 4 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Publish package
name: Publish

on:
push:
Expand All @@ -7,9 +7,12 @@ on:
jobs:
github:
uses: tree-sitter/workflows/.github/workflows/release.yml@main
with:
attestations: true
permissions:
contents: write
id-token: write
attestations: write
npm:
uses: tree-sitter/workflows/.github/workflows/package-npm.yml@main
with:
Expand Down
21 changes: 0 additions & 21 deletions .github/workflows/release.yml

This file was deleted.

22 changes: 16 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
# Rust artifacts
Cargo.lock
target/

# Node artifacts
build/
prebuilds/
node_modules/
*.tgz

# Swift artifacts
.build/

# Go artifacts
go.sum
_obj/

# Python artifacts
Expand All @@ -28,6 +25,13 @@ dist/
*.dylib
*.dll
*.pc
*.exp
*.lib

# Zig artifacts
.zig-cache/
zig-cache/
zig-out/

# Example dirs
/examples/*/
Expand All @@ -37,7 +41,13 @@ dist/
*.obj
*.o

# Archives
*.tar.gz
*.tgz
*.zip

# Moved bindings
bindings/c/
bindings/swift/TreeSitterMarkdown/
bindings/swift/TreeSitterMarkdownInline/
/bindings/c/
/bindings/go/binding.go
/bindings/swift/TreeSitterMarkdown/
/bindings/swift/TreeSitterMarkdownInline/
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,9 @@ macro(add_parser name)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bindings/c/tree-sitter-${name}.pc.in"
"${CMAKE_CURRENT_BINARY_DIR}/tree-sitter-${name}.pc" @ONLY)

install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/bindings/c/tree-sitter-${name}.h"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/tree_sitter")
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bindings/c/tree_sitter"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
FILES_MATCHING PATTERN "*.h")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter-${name}.pc"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig")
install(TARGETS tree-sitter-${name}
Expand Down
Loading