changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / 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
1 ;;; ffi/tree-sitter/pkg.lisp --- Tree-sitter FFI
2 
3 ;; Tree-sitter FFI for Lisp
4 
5 ;; Tree-sitter consists of the base library, which you can load using
6 ;; the LOAD-TREE-SITTER function, and the language parsers.
7 
8 ;; The language parser shared libraries should ALWAYS be located in
9 ;; /usr/local/lib/ and be prefixed with 'lib' like so:
10 ;; '/usr/local/lib/libtree-sitter-json.so'. Static libraries are not
11 ;; supported.
12 
13 ;; The language parsers have associated json files which should ALWAYS
14 ;; be stored in subdirectories of /usr/local/share/tree-sitter/ like
15 ;; so: '/usr/local/share/tree-sitter/json/grammar.json'.
16 
17 ;;; Code:
18 (defpackage :tree-sitter
19  (:nicknames :ts)
20  (:use :cl :std :sb-alien :std/alien)
21  (:export
22  :load-tree-sitter
23  :load-tree-sitter-alien
24  :tree-sitter-language-files
25  :*ts-langs*
26  :list-ts-langs
27  :*tree-sitter-language-directory*
28  :ts-state-id
29  :ts-symbol
30  :ts-field-id
31  :ts-language
32  :ts-parser
33  :ts-tree
34  :ts-query
35  :ts-query-cursor
36  :ts-query-error
37  :ts-lookahead-iterator
38  :ts-point
39  :ts-logger
40  :ts-node
41  :ts-tree-cursor
42  :ts-parser-new
43  :ts-parser-delete
44  :ts-parser-reset
45  :ts-parser-logger
46  :ts-parser-set-logger
47  :ts-parser-set-language
48  :ts-parser-language
49  :ts-parser-parse
50  :ts-parser-parse-string
51  :ts-parser-print-dot-graphs
52  :ts-tree-copy
53  :ts-tree-delete
54  :ts-tree-language
55  :ts-tree-edit
56  :ts-tree-print-dot-graph
57  :ts-node-type
58  :ts-node-symbol
59  :ts-node-language
60  :ts-node-grammar-type
61  :ts-node-grammar-symbol
62  :ts-node-start-byte
63  :ts-node-start-point
64  :ts-node-end-byte
65  :ts-node-end-point
66  :ts-node-string
67  :ts-node-is-null
68  :ts-node-eq
69  :ts-node-named-child
70  :ts-tree-cursor-new-pointer
71  :ts-tree-cursor-delete
72  :ts-tree-root-node
73  :ts-language-version
74  :ts-language-symbol-name
75  :ts-language-symbol-count
76  :ts-language-field-count
77  :ts-tree-cursor-current-field-name
78  :ts-tree-cursor-goto-next-sibling
79  :ts-tree-cursor-goto-parent
80  :ts-tree-cursor-goto-first-child
81  :ts-query-new
82  :ts-query-delete
83  :ts-tree-root-node-pointer
84  :ts-node-is-named-pointer
85  :ts-tree-cursor-current-node-pointer
86  :ts-node-start-point-pointer
87  :ts-node-end-point-pointer
88  :ts-node-type-pointer))
89 
90 (in-package :tree-sitter)
91 
92 (define-alien-loader "tree-sitter" t)
93 (define-alien-loader "tree-sitter-alien" t)