* refactor(#2787): replace deprecated
* refactor(#2787): enable deprecated checks
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): use inline deprecation disabling
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): replace deprecated
* refactor(#2787): deprecated are now warnings
* refactor(#2787): 0.9 is the minimum supported version
* Revert "refactor(#2787): replace deprecated"
This reverts commit b6b4c32fcb.
* refactor(#2787): suppress deprecated until 0.11
* refactor(#2787): minimum nvim version 0.8 -> 0.9
* refactor(#2787): reset globals
* refactor(#2787): explicitly check for vim.diagnostic.is_enabled function presence
This commit is contained in:
committed by
GitHub
parent
26632f496e
commit
8704b6f7fc
@@ -69,8 +69,15 @@ function M.fn()
|
||||
|
||||
-- temporarily set &path
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local path_existed, path_opt = pcall(vim.api.nvim_buf_get_option, bufnr, "path")
|
||||
vim.api.nvim_buf_set_option(bufnr, "path", core.get_cwd() .. "/**")
|
||||
|
||||
local path_existed, path_opt
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
path_existed, path_opt = pcall(vim.api.nvim_get_option_value, "path", { buf = bufnr })
|
||||
vim.api.nvim_set_option_value("path", core.get_cwd() .. "/**", { buf = bufnr })
|
||||
else
|
||||
path_existed, path_opt = pcall(vim.api.nvim_buf_get_option, bufnr, "path") ---@diagnostic disable-line: deprecated
|
||||
vim.api.nvim_buf_set_option(bufnr, "path", core.get_cwd() .. "/**") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
vim.ui.input({ prompt = "Search: ", completion = "file_in_path" }, function(input_path)
|
||||
if not input_path or input_path == "" then
|
||||
@@ -78,9 +85,17 @@ function M.fn()
|
||||
end
|
||||
-- reset &path
|
||||
if path_existed then
|
||||
vim.api.nvim_buf_set_option(bufnr, "path", path_opt)
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("path", path_opt, { buf = bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(bufnr, "path", path_opt) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
else
|
||||
vim.api.nvim_buf_set_option(bufnr, "path", nil)
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("path", nil, { buf = bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(bufnr, "path", nil) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
end
|
||||
|
||||
-- strip trailing slash
|
||||
|
||||
@@ -26,7 +26,13 @@ local function usable_win_ids()
|
||||
return vim.tbl_filter(function(id)
|
||||
local bufid = vim.api.nvim_win_get_buf(id)
|
||||
for option, v in pairs(M.window_picker.exclude) do
|
||||
local ok, option_value = pcall(vim.api.nvim_buf_get_option, bufid, option)
|
||||
local ok, option_value
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
ok, option_value = pcall(vim.api.nvim_get_option_value, option, { buf = bufid })
|
||||
else
|
||||
ok, option_value = pcall(vim.api.nvim_buf_get_option, bufid, option) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
if ok and vim.tbl_contains(v, option_value) then
|
||||
return false
|
||||
end
|
||||
@@ -83,8 +89,15 @@ local function pick_win_id()
|
||||
|
||||
if laststatus == 3 then
|
||||
for _, win_id in ipairs(not_selectable) do
|
||||
local ok_status, statusline = pcall(vim.api.nvim_win_get_option, win_id, "statusline")
|
||||
local ok_hl, winhl = pcall(vim.api.nvim_win_get_option, win_id, "winhl")
|
||||
local ok_status, statusline, ok_hl, winhl
|
||||
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
ok_status, statusline = pcall(vim.api.nvim_get_option_value, "statusline", { win = win_id })
|
||||
ok_hl, winhl = pcall(vim.api.nvim_get_option_value, "winhl", { win = win_id })
|
||||
else
|
||||
ok_status, statusline = pcall(vim.api.nvim_win_get_option, win_id, "statusline") ---@diagnostic disable-line: deprecated
|
||||
ok_hl, winhl = pcall(vim.api.nvim_win_get_option, win_id, "winhl") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
win_opts[win_id] = {
|
||||
statusline = ok_status and statusline or "",
|
||||
@@ -92,15 +105,26 @@ local function pick_win_id()
|
||||
}
|
||||
|
||||
-- Clear statusline for windows not selectable
|
||||
vim.api.nvim_win_set_option(win_id, "statusline", " ")
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("statusline", " ", { win = win_id })
|
||||
else
|
||||
vim.api.nvim_win_set_option(win_id, "statusline", " ") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Setup UI
|
||||
for _, id in ipairs(selectable) do
|
||||
local char = M.window_picker.chars:sub(i, i)
|
||||
local ok_status, statusline = pcall(vim.api.nvim_win_get_option, id, "statusline")
|
||||
local ok_hl, winhl = pcall(vim.api.nvim_win_get_option, id, "winhl")
|
||||
|
||||
local ok_status, statusline, ok_hl, winhl
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
ok_status, statusline = pcall(vim.api.nvim_get_option_value, "statusline", { win = id })
|
||||
ok_hl, winhl = pcall(vim.api.nvim_get_option_value, "winhl", { win = id })
|
||||
else
|
||||
ok_status, statusline = pcall(vim.api.nvim_win_get_option, id, "statusline") ---@diagnostic disable-line: deprecated
|
||||
ok_hl, winhl = pcall(vim.api.nvim_win_get_option, id, "winhl") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
win_opts[id] = {
|
||||
statusline = ok_status and statusline or "",
|
||||
@@ -108,8 +132,13 @@ local function pick_win_id()
|
||||
}
|
||||
win_map[char] = id
|
||||
|
||||
vim.api.nvim_win_set_option(id, "statusline", "%=" .. char .. "%=")
|
||||
vim.api.nvim_win_set_option(id, "winhl", "StatusLine:NvimTreeWindowPicker,StatusLineNC:NvimTreeWindowPicker")
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("statusline", "%=" .. char .. "%=", { win = id })
|
||||
vim.api.nvim_set_option_value("winhl", "StatusLine:NvimTreeWindowPicker,StatusLineNC:NvimTreeWindowPicker", { win = id })
|
||||
else
|
||||
vim.api.nvim_win_set_option(id, "statusline", "%=" .. char .. "%=") ---@diagnostic disable-line: deprecated
|
||||
vim.api.nvim_win_set_option(id, "winhl", "StatusLine:NvimTreeWindowPicker,StatusLineNC:NvimTreeWindowPicker") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
if i > #M.window_picker.chars then
|
||||
@@ -128,14 +157,22 @@ local function pick_win_id()
|
||||
-- Restore window options
|
||||
for _, id in ipairs(selectable) do
|
||||
for opt, value in pairs(win_opts[id]) do
|
||||
vim.api.nvim_win_set_option(id, opt, value)
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value(opt, value, { win = id })
|
||||
else
|
||||
vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if laststatus == 3 then
|
||||
for _, id in ipairs(not_selectable) do
|
||||
for opt, value in pairs(win_opts[id]) do
|
||||
vim.api.nvim_win_set_option(id, opt, value)
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value(opt, value, { win = id })
|
||||
else
|
||||
vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -258,7 +295,15 @@ local function open_in_new_window(filename, mode)
|
||||
-- If `hidden` is not enabled, check if buffer in target window is
|
||||
-- modified, and create new split if it is.
|
||||
local target_bufid = vim.api.nvim_win_get_buf(target_winid)
|
||||
if vim.api.nvim_buf_get_option(target_bufid, "modified") then
|
||||
|
||||
local modified
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
modified = vim.api.nvim_get_option_value("modified", { buf = target_bufid })
|
||||
else
|
||||
modified = vim.api.nvim_buf_get_option(target_bufid, "modified") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
if modified then
|
||||
if not mode:match "split$" then
|
||||
mode = "vsplit"
|
||||
end
|
||||
|
||||
@@ -129,7 +129,12 @@ function M.hi_test()
|
||||
render_displays("other, long", displays_long, bufnr, l)
|
||||
|
||||
-- finalise and focus the buffer
|
||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false)
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
vim.cmd.buffer(bufnr)
|
||||
end
|
||||
|
||||
|
||||
@@ -183,15 +183,8 @@ function M.setup()
|
||||
|
||||
-- hard link override when legacy only is present
|
||||
for from, to in pairs(M.LEGACY_LINKS) do
|
||||
local hl_from
|
||||
local hl_to
|
||||
if vim.fn.has "nvim-0.9" == 1 then
|
||||
hl_from = vim.api.nvim_get_hl(0, { name = from })
|
||||
hl_to = vim.api.nvim_get_hl(0, { name = to })
|
||||
else
|
||||
hl_from = vim.api.nvim__get_hl_defs(0)[from] or {}
|
||||
hl_to = vim.api.nvim__get_hl_defs(0)[to] or {}
|
||||
end
|
||||
local hl_from = vim.api.nvim_get_hl(0, { name = from })
|
||||
local hl_to = vim.api.nvim_get_hl(0, { name = to })
|
||||
if vim.tbl_isempty(hl_from) and not vim.tbl_isempty(hl_to) then
|
||||
vim.api.nvim_command("hi link " .. from .. " " .. to)
|
||||
end
|
||||
|
||||
@@ -39,12 +39,15 @@ end
|
||||
local function from_nvim_lsp()
|
||||
local buffer_severity = {}
|
||||
|
||||
local is_disabled = false
|
||||
if vim.fn.has "nvim-0.9" == 1 then
|
||||
is_disabled = vim.diagnostic.is_disabled()
|
||||
-- is_enabled is not present in all 0.10 builds/releases, see #2781
|
||||
local is_enabled = false
|
||||
if vim.fn.has "nvim-0.10" == 1 and type(vim.diagnostic.is_enabled) == "function" then
|
||||
is_enabled = vim.diagnostic.is_enabled()
|
||||
elseif type(vim.diagnostic.is_disabled) == "function" then ---@diagnostic disable-line: deprecated
|
||||
is_enabled = not vim.diagnostic.is_disabled() ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
if not is_disabled then
|
||||
if is_enabled then
|
||||
for _, diagnostic in ipairs(vim.diagnostic.get(nil, { severity = M.severity })) do
|
||||
if diagnostic.severity and diagnostic.bufnr and vim.api.nvim_buf_is_valid(diagnostic.bufnr) then
|
||||
local bufname = uniformize_path(vim.api.nvim_buf_get_name(diagnostic.bufnr))
|
||||
|
||||
@@ -173,7 +173,12 @@ local function open()
|
||||
|
||||
-- populate it
|
||||
vim.api.nvim_buf_set_lines(M.bufnr, 0, -1, false, lines)
|
||||
vim.api.nvim_buf_set_option(M.bufnr, "modifiable", false)
|
||||
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("modifiable", false, { buf = M.bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(M.bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
-- highlight it
|
||||
for _, h in ipairs(hl) do
|
||||
|
||||
@@ -85,8 +85,7 @@ function M.get_last_group_node(node)
|
||||
node = node.group_next
|
||||
end
|
||||
|
||||
---@diagnostic disable-next-line: return-type-mismatch -- it can't be nil
|
||||
return node
|
||||
return node ---@diagnostic disable-line: return-type-mismatch -- it can't be nil
|
||||
end
|
||||
|
||||
---Group empty folders
|
||||
@@ -199,8 +198,15 @@ end
|
||||
local function should_hijack_current_buf()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||
local bufmodified = vim.api.nvim_buf_get_option(bufnr, "modified")
|
||||
local ft = vim.api.nvim_buf_get_option(bufnr, "ft")
|
||||
|
||||
local bufmodified, ft
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
bufmodified = vim.api.nvim_get_option_value("modified", { buf = bufnr })
|
||||
ft = vim.api.nvim_get_option_value("ft", { buf = bufnr })
|
||||
else
|
||||
bufmodified = vim.api.nvim_buf_get_option(bufnr, "modified") ---@diagnostic disable-line: deprecated
|
||||
ft = vim.api.nvim_buf_get_option(bufnr, "ft") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
local should_hijack_unnamed = M.hijack_unnamed_buffer_when_opening and bufname == "" and not bufmodified and ft == ""
|
||||
local should_hijack_dir = bufname ~= "" and vim.fn.isdirectory(bufname) == 1 and M.hijack_directories.enable
|
||||
|
||||
@@ -150,7 +150,13 @@ local function create_overlay()
|
||||
border = "none",
|
||||
style = "minimal",
|
||||
})
|
||||
vim.api.nvim_buf_set_option(overlay_bufnr, "modifiable", true)
|
||||
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("modifiable", true, { buf = overlay_bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(overlay_bufnr, "modifiable", true) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
vim.api.nvim_buf_set_lines(overlay_bufnr, 0, -1, false, { M.filter })
|
||||
vim.cmd "startinsert"
|
||||
vim.api.nvim_win_set_cursor(overlay_winnr, { 1, #M.filter + 1 })
|
||||
|
||||
@@ -295,24 +295,16 @@ function Builder:add_highlights(node)
|
||||
table.insert(name_groups, name)
|
||||
end
|
||||
|
||||
-- one or many icon groups; <= 0.8 always uses highest due to lack of a practical nvim_get_hl equivalent
|
||||
-- one or many icon groups
|
||||
if #icon_groups > 1 then
|
||||
if vim.fn.has "nvim-0.9" == 1 then
|
||||
icon_hl_group = self:create_combined_group(icon_groups)
|
||||
else
|
||||
icon_hl_group = icon_groups[#icon_groups]
|
||||
end
|
||||
icon_hl_group = self:create_combined_group(icon_groups)
|
||||
else
|
||||
icon_hl_group = icon_groups[1]
|
||||
end
|
||||
|
||||
-- one or many name groups; <= 0.8 always uses highest due to lack of a practical nvim_get_hl equivalent
|
||||
-- one or many name groups
|
||||
if #name_groups > 1 then
|
||||
if vim.fn.has "nvim-0.9" == 1 then
|
||||
name_hl_group = self:create_combined_group(name_groups)
|
||||
else
|
||||
name_hl_group = name_groups[#name_groups]
|
||||
end
|
||||
name_hl_group = self:create_combined_group(name_groups)
|
||||
else
|
||||
name_hl_group = name_groups[1]
|
||||
end
|
||||
|
||||
@@ -19,10 +19,21 @@ local namespace_id = vim.api.nvim_create_namespace "NvimTreeHighlights"
|
||||
---@param hl_args AddHighlightArgs[]
|
||||
---@param signs string[]
|
||||
local function _draw(bufnr, lines, hl_args, signs)
|
||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", true)
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("modifiable", true, { buf = bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", true) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
||||
M.render_hl(bufnr, hl_args)
|
||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false)
|
||||
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr })
|
||||
else
|
||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
vim.fn.sign_unplace(SIGN_GROUP)
|
||||
for i, sign_name in pairs(signs) do
|
||||
vim.fn.sign_place(0, SIGN_GROUP, sign_name, bufnr, { lnum = i + 1 })
|
||||
|
||||
@@ -226,7 +226,14 @@ function M.rename_loaded_buffers(old_path, new_path)
|
||||
vim.api.nvim_buf_set_name(buf, new_path .. buf_name:sub(#old_path + 1))
|
||||
-- to avoid the 'overwrite existing file' error message on write for
|
||||
-- normal files
|
||||
if vim.api.nvim_buf_get_option(buf, "buftype") == "" then
|
||||
local buftype
|
||||
if vim.fn.has "nvim-0.10" == 1 then
|
||||
buftype = vim.api.nvim_get_option_value("buftype", { buf = buf })
|
||||
else
|
||||
buftype = vim.api.nvim_buf_get_option(buf, "buftype") ---@diagnostic disable-line: deprecated
|
||||
end
|
||||
|
||||
if buftype == "" then
|
||||
vim.api.nvim_buf_call(buf, function()
|
||||
vim.cmd "silent! write!"
|
||||
vim.cmd "edit"
|
||||
|
||||
@@ -348,11 +348,7 @@ function M.resize(size)
|
||||
local new_size = get_width()
|
||||
vim.api.nvim_win_set_width(M.get_winnr() or 0, new_size)
|
||||
|
||||
-- TODO #1545 remove similar check from setup_autocommands
|
||||
-- We let nvim handle sending resize events after 0.9
|
||||
if vim.fn.has "nvim-0.9" == 0 then
|
||||
events._dispatch_on_tree_resize(new_size)
|
||||
end
|
||||
events._dispatch_on_tree_resize(new_size)
|
||||
|
||||
if not M.View.preserve_window_proportions then
|
||||
vim.cmd ":wincmd ="
|
||||
|
||||
Reference in New Issue
Block a user