Compare commits

...

3 Commits

Author SHA1 Message Date
Riley Bruins b0d3b62c84
Merge e3037bd310 into c18d7941ef 2024-05-09 16:49:03 +01:00
dundargoc c18d7941ef build: allow sccache as compiler cache
Also enable caching for dependencies.

Closes https://github.com/neovim/neovim/issues/28670
2024-05-09 16:39:45 +02:00
Riley Bruins e3037bd310 fix(treesitter): allow optional directive captures 2024-05-07 18:57:55 -07:00
3 changed files with 17 additions and 6 deletions

View File

@ -50,11 +50,6 @@ file(GLOB DOCFILES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
set_directory_properties(PROPERTIES
EP_PREFIX "${DEPS_BUILD_DIR}")
find_program(CCACHE_PRG ccache)
if(CCACHE_PRG)
set(CMAKE_C_COMPILER_LAUNCHER ${CMAKE_COMMAND} -E env CCACHE_SLOPPINESS=pch_defines,time_macros ${CCACHE_PRG})
endif()
if(NOT CI_BUILD)
set(CMAKE_INSTALL_MESSAGE NEVER)
endif()

View File

@ -23,6 +23,12 @@ if(POLICY CMP0092)
list(APPEND DEPS_CMAKE_ARGS -D CMAKE_POLICY_DEFAULT_CMP0092=NEW)
endif()
find_program(CACHE_PRG NAMES ccache sccache)
if(CACHE_PRG)
set(CMAKE_C_COMPILER_LAUNCHER ${CMAKE_COMMAND} -E env CCACHE_SLOPPINESS=pch_defines,time_macros ${CACHE_PRG})
list(APPEND DEPS_CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER})
endif()
# MAKE_PRG
if(UNIX)
find_program(MAKE_PRG NAMES gmake make)
@ -58,7 +64,8 @@ function(get_externalproject_options name DEPS_IGNORE_SHA)
set(EXTERNALPROJECT_OPTIONS
DOWNLOAD_NO_PROGRESS TRUE
EXTERNALPROJECT_OPTIONS URL ${${name_allcaps}_URL})
EXTERNALPROJECT_OPTIONS URL ${${name_allcaps}_URL}
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
if(NOT ${DEPS_IGNORE_SHA})
list(APPEND EXTERNALPROJECT_OPTIONS URL_HASH SHA256=${${name_allcaps}_SHA256})

View File

@ -529,6 +529,9 @@ local directive_handlers = {
['offset!'] = function(match, _, _, pred, metadata)
local capture_id = pred[2] --[[@as integer]]
local nodes = match[capture_id]
if not nodes or #nodes == 0 then
return
end
assert(#nodes == 1, '#offset! does not support captures on multiple nodes')
local node = nodes[1]
@ -562,6 +565,9 @@ local directive_handlers = {
assert(type(id) == 'number')
local nodes = match[id]
if not nodes or #nodes == 0 then
return
end
assert(#nodes == 1, '#gsub! does not support captures on multiple nodes')
local node = nodes[1]
local text = vim.treesitter.get_node_text(node, bufnr, { metadata = metadata[id] }) or ''
@ -584,6 +590,9 @@ local directive_handlers = {
assert(type(capture_id) == 'number')
local nodes = match[capture_id]
if not nodes or #nodes == 0 then
return
end
assert(#nodes == 1, '#trim! does not support captures on multiple nodes')
local node = nodes[1]