changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/tree-sitter/pkg.lisp

changeset 697: 08621be7e780
parent: 04d0a4f857f6
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 21:45:59 -0400
permissions: -rw-r--r--
description: alien C updates
140
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
1
 ;;; ffi/tree-sitter/pkg.lisp --- Tree-sitter FFI
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
2
 
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
3
 ;; Tree-sitter FFI for Lisp
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
4
 
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
5
 ;; Tree-sitter consists of the base library, which you can load using
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
6
 ;; the LOAD-TREE-SITTER function, and the language parsers.
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
7
 
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
8
 ;; The language parser shared libraries should ALWAYS be located in
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
9
 ;; /usr/local/lib/ and be prefixed with 'lib' like so:
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
10
 ;; '/usr/local/lib/libtree-sitter-json.so'. Static libraries are not
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
11
 ;; supported.
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
12
 
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
13
 ;; The language parsers have associated json files which should ALWAYS
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
14
 ;; be stored in subdirectories of /usr/local/share/tree-sitter/ like
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
15
 ;; so: '/usr/local/share/tree-sitter/json/grammar.json'.
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
16
 
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
17
 ;;; Code:
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
18
 (defpackage :tree-sitter
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
19
   (:nicknames :ts)
365
49c3f3d11432 bug fixes and more tweaks for test macros
Richard Westhaver <ellis@rwest.io>
parents: 149
diff changeset
20
   (:use :cl :std :sb-alien :std/alien)
58
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
21
   (:export 
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
22
    :load-tree-sitter
416
9e133c99b080 more fixes
Richard Westhaver <ellis@rwest.io>
parents: 365
diff changeset
23
    :load-tree-sitter-alien
140
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
24
    :tree-sitter-language-files
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
25
    :*ts-langs*
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
26
    :list-ts-langs
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
27
    :*tree-sitter-language-directory*
58
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
28
    :ts-state-id
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
29
    :ts-symbol
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
30
    :ts-field-id
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
31
    :ts-language
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
32
    :ts-parser
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
33
    :ts-tree
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
34
    :ts-query
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
35
    :ts-query-cursor
141
ellis <ellis@rwest.io>
parents: 140
diff changeset
36
    :ts-query-error
58
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
37
    :ts-lookahead-iterator
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
38
    :ts-point
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
39
    :ts-logger
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
40
    :ts-node
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
41
    :ts-tree-cursor
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
42
    :ts-parser-new
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
43
    :ts-parser-delete
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
44
    :ts-parser-reset
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
45
    :ts-parser-logger
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
46
    :ts-parser-set-logger
88
17bdf95bc114 ffi tests
ellis <ellis@rwest.io>
parents: 58
diff changeset
47
    :ts-parser-set-language
58
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
48
    :ts-parser-language
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
49
    :ts-parser-parse
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
50
    :ts-parser-parse-string
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
51
    :ts-parser-print-dot-graphs
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
52
    :ts-tree-copy
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
53
    :ts-tree-delete
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
54
    :ts-tree-language
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
55
    :ts-tree-edit
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
56
    :ts-tree-print-dot-graph
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
57
    :ts-node-type
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
58
    :ts-node-symbol
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
59
    :ts-node-language
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
60
    :ts-node-grammar-type
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
61
    :ts-node-grammar-symbol
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
62
    :ts-node-start-byte
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
63
    :ts-node-start-point
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
64
    :ts-node-end-byte
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
65
    :ts-node-end-point
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
66
    :ts-node-string
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
67
    :ts-node-is-null
77dbb3c71667 refactoring rust apps, install.org, tests.org
ellis <ellis@rwest.io>
parents: 18
diff changeset
68
    :ts-node-eq
147
ee949f2a5f8e added tree-sitter/wrapper.c and init alik
ellis <ellis@rwest.io>
parents: 141
diff changeset
69
    :ts-node-named-child
523
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
70
    :ts-tree-cursor-new-pointer
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
71
    :ts-tree-cursor-delete
147
ee949f2a5f8e added tree-sitter/wrapper.c and init alik
ellis <ellis@rwest.io>
parents: 141
diff changeset
72
    :ts-tree-root-node
ee949f2a5f8e added tree-sitter/wrapper.c and init alik
ellis <ellis@rwest.io>
parents: 141
diff changeset
73
    :ts-language-version
ee949f2a5f8e added tree-sitter/wrapper.c and init alik
ellis <ellis@rwest.io>
parents: 141
diff changeset
74
    :ts-language-symbol-name
ee949f2a5f8e added tree-sitter/wrapper.c and init alik
ellis <ellis@rwest.io>
parents: 141
diff changeset
75
    :ts-language-symbol-count
523
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
76
    :ts-language-field-count
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
77
    :ts-tree-cursor-current-field-name
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
78
    :ts-tree-cursor-goto-next-sibling
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
79
    :ts-tree-cursor-goto-parent
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
80
    :ts-tree-cursor-goto-first-child
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
81
    :ts-query-new
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
82
    :ts-query-delete
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
83
    :ts-tree-root-node-pointer
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
84
    :ts-node-is-named-pointer
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
85
    :ts-tree-cursor-current-node-pointer
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
86
    :ts-node-start-point-pointer
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
87
    :ts-node-end-point-pointer
04d0a4f857f6 tree-sitter ffi fixes
Richard Westhaver <ellis@rwest.io>
parents: 416
diff changeset
88
    :ts-node-type-pointer))
18
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
89
 
140
9b7ec8636a2d syn init and tree sitter doodles
ellis <ellis@rwest.io>
parents: 96
diff changeset
90
 (in-package :tree-sitter)
18
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
91
 
697
08621be7e780 alien C updates
Richard Westhaver <ellis@rwest.io>
parents: 523
diff changeset
92
 (define-alien-loader "tree-sitter" t)
08621be7e780 alien C updates
Richard Westhaver <ellis@rwest.io>
parents: 523
diff changeset
93
 (define-alien-loader "tree-sitter-alien" t)