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/lib/src/point.h raw
 1#ifndef TREE_SITTER_POINT_H_
 2#define TREE_SITTER_POINT_H_
 3
 4#include "tree_sitter/api.h"
 5
 6#define POINT_ZERO ((TSPoint) {0, 0})
 7#define POINT_MAX ((TSPoint) {UINT32_MAX, UINT32_MAX})
 8
 9static inline TSPoint point__new(unsigned row, unsigned column) {
10  TSPoint result = {row, column};
11  return result;
12}
13
14static inline TSPoint point_add(TSPoint a, TSPoint b) {
15  if (b.row > 0)
16    return point__new(a.row + b.row, b.column);
17  else
18    return point__new(a.row, a.column + b.column);
19}
20
21static inline TSPoint point_sub(TSPoint a, TSPoint b) {
22  if (a.row > b.row)
23    return point__new(a.row - b.row, a.column);
24  else
25    return point__new(0, a.column - b.column);
26}
27
28static inline bool point_lte(TSPoint a, TSPoint b) {
29  return (a.row < b.row) || (a.row == b.row && a.column <= b.column);
30}
31
32static inline bool point_lt(TSPoint a, TSPoint b) {
33  return (a.row < b.row) || (a.row == b.row && a.column < b.column);
34}
35
36static inline bool point_gt(TSPoint a, TSPoint b) {
37  return (a.row > b.row) || (a.row == b.row && a.column > b.column);
38}
39
40static inline bool point_gte(TSPoint a, TSPoint b) {
41  return (a.row > b.row) || (a.row == b.row && a.column >= b.column);
42}
43
44static inline bool point_eq(TSPoint a, TSPoint b) {
45  return a.row == b.row && a.column == b.column;
46}
47
48static inline TSPoint point_min(TSPoint a, TSPoint b) {
49  if (a.row < b.row || (a.row == b.row && a.column < b.column))
50    return a;
51  else
52    return b;
53}
54
55static inline TSPoint point_max(TSPoint a, TSPoint b) {
56  if (a.row > b.row || (a.row == b.row && a.column > b.column))
57    return a;
58  else
59    return b;
60}
61
62#endif