Skip to content

Commit 29e00e3

Browse files
committed
feat: update bindings with 0.26.3
Do not convert to module yet
1 parent 954585e commit 29e00e3

File tree

17 files changed

+377
-71
lines changed

17 files changed

+377
-71
lines changed

.gitattributes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/src/tree_sitter/* linguist-generated
99

1010
# C bindings
11-
*/bindings/c/* linguist-generated
11+
*/bindings/c/** linguist-generated
1212

1313
# Rust bindings
1414
bindings/rust/build.rs linguist-generated
@@ -35,3 +35,7 @@ go.sum linguist-generated
3535
*/bindings/swift/** linguist-generated
3636
Package.swift linguist-generated
3737
Package.resolved linguist-generated
38+
39+
# Zig bindings
40+
build.zig linguist-generated
41+
build.zig.zon linguist-generated

.gitignore

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
# Rust artifacts
2-
Cargo.lock
32
target/
43

54
# Node artifacts
65
build/
76
prebuilds/
87
node_modules/
9-
*.tgz
108

119
# Swift artifacts
1210
.build/
1311

1412
# Go artifacts
15-
go.sum
1613
_obj/
1714

1815
# Python artifacts
@@ -28,6 +25,13 @@ dist/
2825
*.dylib
2926
*.dll
3027
*.pc
28+
*.exp
29+
*.lib
30+
31+
# Zig artifacts
32+
.zig-cache/
33+
zig-cache/
34+
zig-out/
3135

3236
# Example dirs
3337
/examples/*/
@@ -37,7 +41,8 @@ dist/
3741
*.obj
3842
*.o
3943

40-
# Moved bindings
41-
bindings/c/
42-
bindings/swift/TreeSitterMarkdown/
43-
bindings/swift/TreeSitterMarkdownInline/
44+
# Archives
45+
*.tar.gz
46+
*.tgz
47+
*.zip
48+
*.jar

Makefile

Lines changed: 114 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,115 @@
1-
all install uninstall clean:
2-
$(MAKE) -C tree-sitter-markdown $@
3-
$(MAKE) -C tree-sitter-markdown-inline $@
1+
LANGUAGE_NAME := tree-sitter-markdown
2+
HOMEPAGE_URL := https://github.com/tree-sitter-grammars/tree-sitter-markdown
3+
VERSION := 0.5.1
44

5-
.PHONY: all install uninstall clean
5+
# repository
6+
SRC_DIR := src
7+
8+
TS ?= tree-sitter
9+
10+
# install directory layout
11+
PREFIX ?= /usr/local
12+
DATADIR ?= $(PREFIX)/share
13+
INCLUDEDIR ?= $(PREFIX)/include
14+
LIBDIR ?= $(PREFIX)/lib
15+
BINDIR ?= $(PREFIX)/bin
16+
PCLIBDIR ?= $(LIBDIR)/pkgconfig
17+
18+
# source/object files
19+
PARSER := $(SRC_DIR)/parser.c
20+
EXTRAS := $(filter-out $(PARSER),$(wildcard $(SRC_DIR)/*.c))
21+
OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS))
22+
23+
# flags
24+
ARFLAGS ?= rcs
25+
override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC
26+
27+
# ABI versioning
28+
SONAME_MAJOR = $(shell sed -n 's/\#define LANGUAGE_VERSION //p' $(PARSER))
29+
SONAME_MINOR = $(word 1,$(subst ., ,$(VERSION)))
30+
31+
# OS-specific bits
32+
MACHINE := $(shell $(CC) -dumpmachine)
33+
34+
ifneq ($(findstring darwin,$(MACHINE)),)
35+
SOEXT = dylib
36+
SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT)
37+
SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).$(SOEXT)
38+
LINKSHARED = -dynamiclib -Wl,-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER),-rpath,@executable_path/../Frameworks
39+
else ifneq ($(findstring mingw32,$(MACHINE)),)
40+
SOEXT = dll
41+
LINKSHARED += -s -shared -Wl,--out-implib,lib$(LANGUAGE_NAME).dll.a
42+
else
43+
SOEXT = so
44+
SOEXTVER_MAJOR = $(SOEXT).$(SONAME_MAJOR)
45+
SOEXTVER = $(SOEXT).$(SONAME_MAJOR).$(SONAME_MINOR)
46+
LINKSHARED = -shared -Wl,-soname,lib$(LANGUAGE_NAME).$(SOEXTVER)
47+
ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
48+
PCLIBDIR := $(PREFIX)/libdata/pkgconfig
49+
endif
50+
endif
51+
52+
all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc
53+
54+
lib$(LANGUAGE_NAME).a: $(OBJS)
55+
$(AR) $(ARFLAGS) $@ $^
56+
57+
lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS)
58+
$(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
59+
ifneq ($(STRIP),)
60+
$(STRIP) $@
61+
endif
62+
63+
ifneq ($(findstring mingw32,$(MACHINE)),)
64+
lib$(LANGUAGE_NAME).dll.a: lib$(LANGUAGE_NAME).$(SOEXT)
65+
endif
66+
67+
$(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in
68+
sed -e 's|@PROJECT_VERSION@|$(VERSION)|' \
69+
-e 's|@CMAKE_INSTALL_LIBDIR@|$(LIBDIR:$(PREFIX)/%=%)|' \
70+
-e 's|@CMAKE_INSTALL_INCLUDEDIR@|$(INCLUDEDIR:$(PREFIX)/%=%)|' \
71+
-e 's|@PROJECT_DESCRIPTION@|$(DESCRIPTION)|' \
72+
-e 's|@PROJECT_HOMEPAGE_URL@|$(HOMEPAGE_URL)|' \
73+
-e 's|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|' $< > $@
74+
75+
$(SRC_DIR)/grammar.json: grammar.js
76+
$(TS) generate --no-parser $^
77+
78+
$(PARSER): $(SRC_DIR)/grammar.json
79+
$(TS) generate $^
80+
81+
install: all
82+
install -d '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/markdown '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
83+
install -m644 bindings/c/tree_sitter/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h
84+
install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
85+
install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a
86+
install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER)
87+
ifneq ($(findstring mingw32,$(MACHINE)),)
88+
install -d '$(DESTDIR)$(BINDIR)'
89+
install -m755 lib$(LANGUAGE_NAME).dll '$(DESTDIR)$(BINDIR)'/lib$(LANGUAGE_NAME).dll
90+
install -m755 lib$(LANGUAGE_NAME).dll.a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).dll.a
91+
else
92+
install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER)
93+
cd '$(DESTDIR)$(LIBDIR)' && ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR)
94+
cd '$(DESTDIR)$(LIBDIR)' && ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) lib$(LANGUAGE_NAME).$(SOEXT)
95+
endif
96+
ifneq ($(wildcard queries/*.scm),)
97+
install -m644 queries/*.scm '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/markdown
98+
endif
99+
100+
uninstall:
101+
$(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \
102+
'$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \
103+
'$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \
104+
'$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \
105+
'$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \
106+
'$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
107+
$(RM) -r '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/markdown
108+
109+
clean:
110+
$(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) lib$(LANGUAGE_NAME).dll.a
111+
112+
test:
113+
$(TS) test
114+
115+
.PHONY: all install uninstall clean test

Package.swift

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=@CMAKE_INSTALL_PREFIX@
2+
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
3+
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
4+
5+
Name: tree-sitter-markdown
6+
Description: @PROJECT_DESCRIPTION@
7+
URL: @PROJECT_HOMEPAGE_URL@
8+
Version: @PROJECT_VERSION@
9+
Libs: -L${libdir} -ltree-sitter-markdown
10+
Cflags: -I${includedir}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#ifndef TREE_SITTER_MARKDOWN_H_
2+
#define TREE_SITTER_MARKDOWN_H_
3+
4+
typedef struct TSLanguage TSLanguage;
5+
6+
#ifdef __cplusplus
7+
extern "C" {
8+
#endif
9+
10+
const TSLanguage *tree_sitter_markdown(void);
11+
12+
#ifdef __cplusplus
13+
}
14+
#endif
15+
16+
#endif // TREE_SITTER_MARKDOWN_H_

bindings/node/binding_test.js

Lines changed: 8 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindings/node/index.d.ts

Lines changed: 36 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindings/node/index.js

Lines changed: 34 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindings/python/tests/test_binding.py

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)