cabal-version:       2.2
name:                tree-sitter
version:             0.3.0.0
synopsis:            Unstable bindings for the tree-sitter parsing library.
description:         Tree-sitter is a parser generator tool and an incremental parsing library.
                     .
                     We strongly recommend against depending on this library at this time;
                     the data types and API are subject to rapid change. Future versions
                     will provide more reliable parsers and a more stable API.
homepage:            http://github.com/tree-sitter/haskell-tree-sitter#readme
license:             BSD-3-Clause
license-file:        LICENSE
author:              Rob Rix, Josh Vera, Tim Clem, Rick Winfrey, Max Brunsfeld, Ayman Nadeem, Patrick Thomson
maintainer:          rob.rix@github.com
copyright:           2015 GitHub
category:            Parsing, Tree-sitter
build-type:          Simple
tested-with:         GHC == 8.6.4
extra-source-files:  vendor/tree-sitter/lib/src/*.c
                   , vendor/tree-sitter/lib/src/*.h
                   , vendor/tree-sitter/lib/utf8proc/utf8proc.c
                   , vendor/tree-sitter/lib/utf8proc/utf8proc_data.c
                   , ChangeLog.md

library
  hs-source-dirs:      src
  build-depends:       base                  >= 4.12 && < 5
                     , aeson                ^>= 1.4.2
                     , bytestring           ^>= 0.10.8.2
                     , containers           ^>= 0.6.0.1
                     , directory            ^>= 1.3
                     , filepath             ^>= 1.4.1
                     , fused-effects         >= 0.4 && <1
                     , split                ^>= 0.2.3
                     , template-haskell      >= 2.12.0.0 && < 2.15.0.0
                     , text                 ^>= 1.2.3.1
                     , unordered-containers ^>= 0.2.9
                     , containers            >= 0.6.0.1
  default-language:    Haskell2010
  exposed-modules:     TreeSitter.Parser
                     , TreeSitter.Unmarshal
                     , TreeSitter.Language
                     , TreeSitter.Node
                     , TreeSitter.Symbol
                     , TreeSitter.Tree
                     , TreeSitter.GenerateSyntax
                     , TreeSitter.Deserialize
                     , TreeSitter.Cursor
                     , TreeSitter.Span
                     , TreeSitter.Range
  include-dirs:        vendor/tree-sitter/lib/include
                     , vendor/tree-sitter/lib/src
                     , vendor/tree-sitter/lib/utf8proc
  install-includes:    tree_sitter/api.h
                     , tree_sitter/parser.h
                     , utf8proc.h
  c-sources:           src/bridge.c
                     , vendor/tree-sitter/lib/src/lib.c
  cc-options:          -std=c99
  ghc-options:         -Wall -fno-warn-name-shadowing

test-suite test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  build-depends:       base
                     , tree-sitter
                     , hedgehog >= 0.6 && <2
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

test-suite codegen-test
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test-codegen
  main-is:          test-codegen.hs
  default-language: Haskell2010
  build-depends:    base
                  , tree-sitter
                  , hedgehog >= 0.6 && <2

source-repository head
  type:     git
  location: https://github.com/tree-sitter/haskell-tree-sitter