mirror of
https://github.com/stevearc/aerial.nvim
synced 2024-09-16 14:34:08 +02:00
ci: run tests against Neovim v0.10.0
This commit is contained in:
parent
6c42401801
commit
9e725f0810
7 changed files with 31 additions and 10 deletions
1
.github/workflows/tests.yml
vendored
1
.github/workflows/tests.yml
vendored
|
@ -52,6 +52,7 @@ jobs:
|
||||||
include:
|
include:
|
||||||
- nvim_tag: v0.8.3
|
- nvim_tag: v0.8.3
|
||||||
- nvim_tag: v0.9.4
|
- nvim_tag: v0.9.4
|
||||||
|
- nvim_tag: v0.10.0
|
||||||
|
|
||||||
name: Run tests
|
name: Run tests
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
|
@ -171,7 +171,10 @@ M.symbol_callback = function(_err, result, context, _config)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local client = vim.lsp.get_client_by_id(context.client_id)
|
local client = vim.lsp.get_client_by_id(client_id)
|
||||||
|
if not client then
|
||||||
|
return
|
||||||
|
end
|
||||||
-- Debounce this callback to avoid unnecessary re-rendering
|
-- Debounce this callback to avoid unnecessary re-rendering
|
||||||
if results[bufnr] == nil then
|
if results[bufnr] == nil then
|
||||||
vim.defer_fn(function()
|
vim.defer_fn(function()
|
||||||
|
@ -189,6 +192,9 @@ end
|
||||||
M.on_publish_diagnostics = function(_err, result, ctx, _config)
|
M.on_publish_diagnostics = function(_err, result, ctx, _config)
|
||||||
local client_id = ctx.client_id
|
local client_id = ctx.client_id
|
||||||
local client = vim.lsp.get_client_by_id(client_id)
|
local client = vim.lsp.get_client_by_id(client_id)
|
||||||
|
if not client then
|
||||||
|
return
|
||||||
|
end
|
||||||
local uri = result.uri
|
local uri = result.uri
|
||||||
local bufnr = vim.uri_to_bufnr(uri)
|
local bufnr = vim.uri_to_bufnr(uri)
|
||||||
if
|
if
|
||||||
|
|
|
@ -15,7 +15,20 @@ end
|
||||||
M.get_client = function(bufnr, exclude_id)
|
M.get_client = function(bufnr, exclude_id)
|
||||||
local ret
|
local ret
|
||||||
local last_priority = -1
|
local last_priority = -1
|
||||||
for _, client in ipairs(vim.lsp.get_active_clients({ bufnr = bufnr })) do
|
|
||||||
|
local clients
|
||||||
|
if vim.lsp.get_clients then
|
||||||
|
clients = vim.lsp.get_clients({
|
||||||
|
bufnr = bufnr,
|
||||||
|
})
|
||||||
|
else
|
||||||
|
---@diagnostic disable-next-line: deprecated
|
||||||
|
clients = vim.lsp.get_active_clients({
|
||||||
|
bufnr = bufnr,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, client in ipairs(clients) do
|
||||||
local priority = config.lsp.priority[client.name] or 10
|
local priority = config.lsp.priority[client.name] or 10
|
||||||
if
|
if
|
||||||
client.id ~= exclude_id
|
client.id ~= exclude_id
|
||||||
|
|
|
@ -30,7 +30,7 @@ else
|
||||||
---@param bufnr nil|integer
|
---@param bufnr nil|integer
|
||||||
M.get_buf_lang = function(bufnr)
|
M.get_buf_lang = function(bufnr)
|
||||||
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
||||||
local ft = vim.api.nvim_buf_get_option(bufnr, "ft")
|
local ft = vim.bo[bufnr].filetype
|
||||||
|
|
||||||
local result = vim.treesitter.language.get_lang(ft)
|
local result = vim.treesitter.language.get_lang(ft)
|
||||||
if result then
|
if result then
|
||||||
|
@ -44,21 +44,21 @@ end
|
||||||
|
|
||||||
if vim.treesitter.query.get == nil then
|
if vim.treesitter.query.get == nil then
|
||||||
---@param lang string
|
---@param lang string
|
||||||
---@return Query|nil
|
---@return vim.treesitter.Query|nil
|
||||||
M.load_query = function(lang)
|
M.load_query = function(lang)
|
||||||
---@diagnostic disable-next-line: deprecated
|
---@diagnostic disable-next-line: deprecated
|
||||||
return vim.treesitter.query.get_query(lang, "aerial")
|
return vim.treesitter.query.get_query(lang, "aerial")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
---@param lang string
|
---@param lang string
|
||||||
---@return Query|nil
|
---@return vim.treesitter.Query|nil
|
||||||
M.load_query = function(lang)
|
M.load_query = function(lang)
|
||||||
return vim.treesitter.query.get(lang, "aerial")
|
return vim.treesitter.query.get(lang, "aerial")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param lang string
|
---@param lang string
|
||||||
---@return Query|nil
|
---@return vim.treesitter.Query|nil
|
||||||
---@note caches queries to avoid filesystem hits on neovim 0.9+
|
---@note caches queries to avoid filesystem hits on neovim 0.9+
|
||||||
M.get_query = function(lang)
|
M.get_query = function(lang)
|
||||||
if not query_cache[lang] then
|
if not query_cache[lang] then
|
||||||
|
@ -77,7 +77,7 @@ M.has_parser = function(lang)
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param bufnr integer
|
---@param bufnr integer
|
||||||
---@return LanguageTree|nil
|
---@return vim.treesitter.LanguageTree|nil
|
||||||
M.get_parser = function(bufnr)
|
M.get_parser = function(bufnr)
|
||||||
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
||||||
---@note nvim 0.9.1 and later don't really care for lang here, as vim itself becomes an authority on that
|
---@note nvim 0.9.1 and later don't really care for lang here, as vim itself becomes an authority on that
|
||||||
|
|
|
@ -417,6 +417,7 @@ local nerd_icons = {
|
||||||
Collapsed = " ",
|
Collapsed = " ",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: deprecated
|
||||||
local islist = vim.islist or vim.tbl_islist
|
local islist = vim.islist or vim.tbl_islist
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ M.add_fold_mappings = function(bufnr)
|
||||||
zX = { aerial.sync_folds, "[aerial] sync folds" },
|
zX = { aerial.sync_folds, "[aerial] sync folds" },
|
||||||
}
|
}
|
||||||
for lhs, v in pairs(maps) do
|
for lhs, v in pairs(maps) do
|
||||||
local callback, desc = unpack(v)
|
local callback, desc = v[1], v[2]
|
||||||
if not config.link_tree_to_folds then
|
if not config.link_tree_to_folds then
|
||||||
local orig_cb = callback
|
local orig_cb = callback
|
||||||
callback = function()
|
callback = function()
|
||||||
|
|
|
@ -371,9 +371,9 @@ M.render_centered_text = function(bufnr, text)
|
||||||
line = string.rep(" ", (width - vim.api.nvim_strwidth(line)) / 2) .. line
|
line = string.rep(" ", (width - vim.api.nvim_strwidth(line)) / 2) .. line
|
||||||
table.insert(lines, line)
|
table.insert(lines, line)
|
||||||
end
|
end
|
||||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", true)
|
vim.bo[bufnr].modifiable = true
|
||||||
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
||||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false)
|
vim.bo[bufnr].modifiable = false
|
||||||
end
|
end
|
||||||
|
|
||||||
M.pack = function(...)
|
M.pack = function(...)
|
||||||
|
|
Loading…
Reference in a new issue