diff options
author | Lewis Russell <lewis6991@gmail.com> | 2023-05-11 11:13:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-11 11:13:32 +0100 |
commit | af040c3a079f6e25db0ad6b908aa1327f67deb82 (patch) | |
tree | e5d90fd09f0c0cfcb99afb6ca7b564ba98fd31f0 /cmake | |
parent | e90b506903babc84f8c5b796c3b25c7f20e183d2 (diff) | |
download | rneovim-af040c3a079f6e25db0ad6b908aa1327f67deb82.tar.gz rneovim-af040c3a079f6e25db0ad6b908aa1327f67deb82.tar.bz2 rneovim-af040c3a079f6e25db0ad6b908aa1327f67deb82.zip |
feat(treesitter): add support for setting query depths
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/FindTreesitter.cmake | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cmake/FindTreesitter.cmake b/cmake/FindTreesitter.cmake index ddea35fe66..23214283c0 100644 --- a/cmake/FindTreesitter.cmake +++ b/cmake/FindTreesitter.cmake @@ -7,3 +7,23 @@ mark_as_advanced(TREESITTER_LIBRARY TREESITTER_INCLUDE_DIR) add_library(treesitter INTERFACE) target_include_directories(treesitter SYSTEM BEFORE INTERFACE ${TREESITTER_INCLUDE_DIR}) target_link_libraries(treesitter INTERFACE ${TREESITTER_LIBRARY}) + +# TODO(lewis6991): remove when min TS version is 0.20.9 +list(APPEND CMAKE_REQUIRED_INCLUDES "${TREESITTER_INCLUDE_DIR}") +list(APPEND CMAKE_REQUIRED_LIBRARIES "${TREESITTER_LIBRARY}") +check_c_source_compiles(" +#include <tree_sitter/api.h> +int +main(void) +{ + TSQueryCursor *cursor = ts_query_cursor_new(); + ts_query_cursor_set_max_start_depth(cursor, 32); + return 0; +} +" TS_HAS_SET_MAX_START_DEPTH) +list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${TREESITTER_INCLUDE_DIR}") +list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${TREESITTER_LIBRARY}") + +if(TS_HAS_SET_MAX_START_DEPTH) + target_compile_definitions(treesitter INTERFACE NVIM_TS_HAS_SET_MAX_START_DEPTH) +endif() |