mirror of
https://github.com/chenasraf/vim-matchup.git
synced 2026-05-18 01:38:57 +00:00
Update ts query lua
This commit is contained in:
@@ -363,6 +363,14 @@ function! s:treesitter_init_module() " {{{1
|
||||
endif
|
||||
|
||||
lua require'treesitter-matchup'.init()
|
||||
|
||||
augroup matchup_filetype_query
|
||||
au!
|
||||
autocmd FileType query
|
||||
\ autocmd! MatchupTreesitter BufWritePost <buffer>
|
||||
\ call v:lua.require('nvim-treesitter.third-party.query')
|
||||
\ .invalidate_query_file(expand('%:p'))
|
||||
augroup END
|
||||
endfunction
|
||||
|
||||
"}}}1
|
||||
|
||||
11
lua/treesitter-matchup/third-party/query.lua
vendored
11
lua/treesitter-matchup/third-party/query.lua
vendored
@@ -62,11 +62,16 @@ do
|
||||
function M.invalidate_query_cache(lang, query_name)
|
||||
if lang and query_name then
|
||||
cache[lang][query_name] = nil
|
||||
if query_files_cache[lang] then
|
||||
query_files_cache[lang][query_name] = nil
|
||||
end
|
||||
elseif lang and not query_name then
|
||||
query_files_cache[lang] = nil
|
||||
for query_name, _ in pairs(cache[lang]) do
|
||||
M.invalidate_query_cache(lang, query_name)
|
||||
end
|
||||
elseif not lang and not query_name then
|
||||
query_files_cache = {}
|
||||
for lang, _ in pairs(cache) do
|
||||
for query_name, _ in pairs(cache[lang]) do
|
||||
M.invalidate_query_cache(lang, query_name)
|
||||
@@ -78,6 +83,12 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
--- This function is meant for an autocommand and not to be used. Only use if file is a query file.
|
||||
function M.invalidate_query_file(fname)
|
||||
local fnamemodify = vim.fn.fnamemodify
|
||||
M.invalidate_query_cache(fnamemodify(fname, ':p:h:t'), fnamemodify(fname, ':t:r'))
|
||||
end
|
||||
|
||||
local function get_byte_offset(buf, row, col)
|
||||
local lines = api.nvim_buf_get_lines(buf, row, row + 1, false)
|
||||
if #lines < 1 then
|
||||
|
||||
Reference in New Issue
Block a user