queries c.h c.scm cpp.h cpp.scm cuda.h cuda.scm glsl.h glsl.scm go.h go.scm javascript.h javascript.scm kotlin.h kotlin.scm lua.h lua.scm odin.h odin.scm php.h php.scm python.h python.scm rust.h rust.scm tcl.h tcl.scm zig.h zig.scm
tests
depth_test
sub level1.c
level0.c
test.c test.cpp test.cu test.cuh test.glsl test.go test.js test.kt test.lua test.odin test.php test.py test.rs test.tcl test.zig
vendor
tree-sitter
lib
include
tree_sitter api.h parser.h
src
unicode ICU_SHA LICENSE README.md ptypes.h umachine.h urename.h utf.h utf16.h utf8.h
alloc.c alloc.h array.h atomic.h clock.h error_costs.h get_changed_ranges.c get_changed_ranges.h host.h language.c language.h length.h lexer.c lexer.h lib.c node.c parser.c point.h query.c reduce_action.h reusable_node.h stack.c stack.h subtree.c subtree.h tree.c tree.h tree_cursor.c tree_cursor.h unicode.h
LICENSE Makefile
tree-sitter-c
src
tree_sitter parser.h
grammar.json node-types.json parser.c
LICENSE Makefile
tree-sitter-cpp
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-cuda
src
tree_sitter alloc.h array.h parser.h runtime.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-glsl
src
tree_sitter alloc.h array.h parser.h runtime.h
grammar.json node-types.json parser.c
LICENSE Makefile
tree-sitter-go
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c
LICENSE Makefile
tree-sitter-javascript
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-kotlin
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-lua
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE.md Makefile
tree-sitter-odin
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-php
src
common common.mak define-grammar.js scanner.h
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-python
src
tree_sitter parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-rust
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-tcl
src
tree_sitter parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-template Makefile
tree-sitter-zig
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c
LICENSE Makefile
.clang-format .gitattributes .gitignore LICENSE Makefile README.md abicheck.c compile_flags.txt file.c file.h list.c list.h main.c tests.sh tpool.c tpool.h
vendor/tree-sitter-zig/Makefile raw
  1VERSION := 0.19.0
  2
  3# Repository
  4SRC_DIR := src
  5
  6PARSER_REPO_URL := $(shell git -C $(SRC_DIR) remote get-url origin )
  7PARSER_NAME := zig
  8
  9ifeq (, $(PARSER_URL))
 10	PARSER_URL := $(subst :,/,$(PARSER_REPO_URL))
 11	PARSER_URL := $(subst git@,https://,$(PARSER_URL))
 12	PARSER_URL := $(subst .git,,$(PARSER_URL))
 13endif
 14
 15UPPER_PARSER_NAME := $(shell echo $(PARSER_NAME) | tr a-z A-Z )
 16
 17# install directory layout
 18PREFIX ?= /usr/local
 19INCLUDEDIR ?= $(PREFIX)/include
 20LIBDIR ?= $(PREFIX)/lib
 21PCLIBDIR ?= $(LIBDIR)/pkgconfig
 22
 23# collect C++ sources, and link if necessary
 24CPPSRC := $(wildcard $(SRC_DIR)/*.cc)
 25
 26ifeq (, $(CPPSRC))
 27	ADDITIONALLIBS := 
 28else
 29	ADDITIONALLIBS := -lc++
 30endif
 31
 32# collect sources
 33SRC := $(wildcard $(SRC_DIR)/*.c)
 34SRC += $(CPPSRC)
 35OBJ := $(addsuffix .o,$(basename $(SRC)))
 36
 37# ABI versioning
 38SONAME_MAJOR := 0
 39SONAME_MINOR := 0
 40
 41CFLAGS ?= -O3 -Wall -Wextra -I$(SRC_DIR)
 42CXXFLAGS ?= -O3 -Wall -Wextra -I$(SRC_DIR)
 43override CFLAGS += -std=gnu99 -fPIC
 44override CXXFLAGS += -fPIC
 45
 46# OS-specific bits
 47ifeq ($(shell uname),Darwin)
 48	SOEXT = dylib
 49	SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib
 50	SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib
 51	LINKSHARED := $(LINKSHARED)-dynamiclib -Wl,
 52	ifneq ($(ADDITIONALLIBS),)
 53	LINKSHARED := $(LINKSHARED)$(ADDITIONALLIBS),
 54	endif
 55	LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/libtree-sitter-$(PARSER_NAME).$(SONAME_MAJOR).dylib,-rpath,@executable_path/../Frameworks
 56else
 57	SOEXT = so
 58	SOEXTVER_MAJOR = so.$(SONAME_MAJOR)
 59	SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR)
 60	LINKSHARED := $(LINKSHARED)-shared -Wl,
 61	ifneq ($(ADDITIONALLIBS),)
 62	LINKSHARED := $(LINKSHARED)$(ADDITIONALLIBS),
 63	endif
 64	LINKSHARED := $(LINKSHARED)-soname,libtree-sitter-$(PARSER_NAME).so.$(SONAME_MAJOR)
 65endif
 66ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
 67	PCLIBDIR := $(PREFIX)/libdata/pkgconfig
 68endif
 69
 70all: libtree-sitter-$(PARSER_NAME).a libtree-sitter-$(PARSER_NAME).$(SOEXTVER) bindings/c/$(PARSER_NAME).h bindings/c/tree-sitter-$(PARSER_NAME).pc
 71
 72libtree-sitter-$(PARSER_NAME).a: $(OBJ)
 73	$(AR) rcs $@ $^
 74
 75libtree-sitter-$(PARSER_NAME).$(SOEXTVER): $(OBJ)
 76	$(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
 77	ln -sf $@ libtree-sitter-$(PARSER_NAME).$(SOEXT)
 78	ln -sf $@ libtree-sitter-$(PARSER_NAME).$(SOEXTVER_MAJOR)
 79
 80bindings/c/$(PARSER_NAME).h:
 81	sed -e 's|@UPPER_PARSERNAME@|$(UPPER_PARSER_NAME)|' \
 82		-e 's|@PARSERNAME@|$(PARSER_NAME)|' \
 83		bindings/c/tree-sitter.h.in > $@
 84
 85bindings/c/tree-sitter-$(PARSER_NAME).pc:
 86	sed -e 's|@LIBDIR@|$(LIBDIR)|;s|@INCLUDEDIR@|$(INCLUDEDIR)|;s|@VERSION@|$(VERSION)|' \
 87		-e 's|=$(PREFIX)|=$${prefix}|' \
 88		-e 's|@PREFIX@|$(PREFIX)|' \
 89		-e 's|@ADDITIONALLIBS@|$(ADDITIONALLIBS)|' \
 90		-e 's|@PARSERNAME@|$(PARSER_NAME)|' \
 91		-e 's|@PARSERURL@|$(PARSER_URL)|' \
 92		bindings/c/tree-sitter.pc.in > $@
 93
 94install: all
 95	install -d '$(DESTDIR)$(LIBDIR)'
 96	install -m755 libtree-sitter-$(PARSER_NAME).a '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).a
 97	install -m755 libtree-sitter-$(PARSER_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).$(SOEXTVER)
 98	ln -sf libtree-sitter-$(PARSER_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).$(SOEXTVER_MAJOR)
 99	ln -sf libtree-sitter-$(PARSER_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).$(SOEXT)
100	install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter
101	install -m644 bindings/c/$(PARSER_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/
102	install -d '$(DESTDIR)$(PCLIBDIR)'
103	install -m644 bindings/c/tree-sitter-$(PARSER_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/
104
105clean:
106	rm -f $(OBJ) libtree-sitter-$(PARSER_NAME).a libtree-sitter-$(PARSER_NAME).$(SOEXT) libtree-sitter-$(PARSER_NAME).$(SOEXTVER_MAJOR) libtree-sitter-$(PARSER_NAME).$(SOEXTVER)
107	rm -f bindings/c/$(PARSER_NAME).h bindings/c/tree-sitter-$(PARSER_NAME).pc
108
109.PHONY: all install clean