diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d15ae6..f8f6073 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,25 +50,3 @@ jobs: uses: tree-sitter/parser-test-action@v2 with: test-rust: ${{runner.os == 'Linux'}} - fuzz: - name: Fuzz scanner - runs-on: ubuntu-latest - if: >- - !github.event.repository.is_template && - github.event.head_commit.message != 'Initial commit' - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Check for scanner changes - id: scanner-check - shell: sh - run: |- - { - test -f src/scanner.c && ! git diff --quiet HEAD^ -- "$_" && - printf 'changed=true\n' || printf 'changed=false\n' - } >> "$GITHUB_OUTPUT" - - uses: actions/setup-node@v4 - - run: npm install - - name: Run fuzzer - uses: tree-sitter/fuzz-action@v4 - if: steps.scanner-check.outputs.changed == 'true' diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml new file mode 100644 index 0000000..9d527d8 --- /dev/null +++ b/.github/workflows/fuzz.yml @@ -0,0 +1,19 @@ +name: Fuzz Parser + +on: + push: + branches: [master] + paths: + - src/scanner.c + - src/tree-sitter-typescript/scanner.h + pull_request: + paths: + - src/scanner.c + - src/tree-sitter-typescript/scanner.h + +jobs: + fuzz: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: tree-sitter/fuzz-action@v4 diff --git a/bindings/rust/build.rs b/bindings/rust/build.rs index 5449d52..4c50a27 100644 --- a/bindings/rust/build.rs +++ b/bindings/rust/build.rs @@ -1,5 +1,7 @@ fn main() { + let root_dir = std::path::Path::new("."); let src_dir = std::path::Path::new("src"); + let typescript_dir = root_dir.join("tree-sitter-typescript").join("src"); let mut c_config = cc::Build::new(); c_config.include(&src_dir); @@ -18,6 +20,11 @@ fn main() { let scanner_path = src_dir.join("scanner.c"); c_config.file(&scanner_path); + + println!( + "cargo:rerun-if-changed={}", + typescript_dir.join("scanner.h").to_str().unwrap() + ); println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); c_config.compile("parser"); diff --git a/queries/glimmer_typescript/indents.scm b/queries/glimmer_typescript/indents.scm index b15e374..237254d 100644 --- a/queries/glimmer_typescript/indents.scm +++ b/queries/glimmer_typescript/indents.scm @@ -1,2 +1,3 @@ (glimmer_opening_tag) @indent.begin + (glimmer_closing_tag) @indent.end